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

我有一个带有一些静态列表的类.出于示范目的,我只会展示两个:public class Foo{public static readonly Listlong FirstList(EfEntities dbContext){return dbContext.SomeTable.Where(x = x == 1).ToList();}pu...

我有一个带有一些静态列表的类.出于示范目的,我只会展示两个:

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();
    }
}

我不是将数据库上下文传递给每个静态方法的忠实粉丝.你对不同的方法有什么建议吗?

解决方法:

不要让它静止.您需要返回这些列表的上下文.静态成员被设计为较少的上下文.所以基本上你想要的是将这些方法移动到类实例,并通过依赖注入或其他类型的工厂提供构造上下文.

坚持静力学的设计决定是什么?
一个糟糕的解决方法是将上下文一次传递给静态字段然后使用它,但这基本上就是你应该对类实例做的事情

本文标题为:c# – 将数据库上下文传递给静态方法

基础教程推荐