c# – 将数据库上下文传递给静态方法

我有一个带有一些静态列表的类.出于示范目的,我只会展示两个:
public class Foo
{
public static readonly List<long> FirstList(EfEntities dbContext)
{
return dbContext.SomeTable.Where(x => x == 1).ToList();
}
public static readonly List<long> SecondList(EfEntities dbContext)
{
return dbContext.SomeTable.Where(x => x == 2).ToList();
}
}
我不是将数据库上下文传递给每个静态方法的忠实粉丝.你对不同的方法有什么建议吗?
解决方法:
不要让它静止.您需要返回这些列表的上下文.静态成员被设计为较少的上下文.所以基本上你想要的是将这些方法移动到类实例,并通过依赖注入或其他类型的工厂提供构造上下文.
坚持静力学的设计决定是什么?
一个糟糕的解决方法是将上下文一次传递给静态字段然后使用它,但这基本上就是你应该对类实例做的事情