访问静态属性中的数据库上下文
本文关键字:数据库 上下文 静态 属性 访问 | 更新日期: 2023-09-27 18:20:22
我以以下方式访问类上的静态列表:
public class Foo
{
public static List<long> myList = new List<long>() { 1,2,3 }
}
using(EfEntities myDbContext = new EfEntities())
{
var bar = Foo.myList;
}
它是有效的,但为了让它更受数据驱动,我想做这样的事情,同时尽可能保持属性静态(psuedo代码):
public class Foo
{
public static List<long> myList
{
get
{
return dbContext.SomeTable.Where(x => x == 1).ToList();
}
}
}
我想使用属性中的myDbContext
,并从数据库传递数据,而不是硬编码列表。
是否有任何方法可以在不实例化Foo
的情况下使用属性中的myDbContext
实例?
把它改成一个方法怎么样?
public class Foo
{
public static List<long> GetList(EfEntities dbContext)
{
return dbContext.SomeTable.Where(x => x == 1).ToList();
}
}
并使用它;
using(EfEntities myDbContext = new EfEntities())
{
var bar = Foo.GetList(myDbContext);
}