我不确定我要问的是要走的路。我有一个DB第一个模型。我想为它添加某些常用方法,例如更新特定表的特定字段。
我知道我可以通过使用适当的方法创建一个类,如:
public static class MyClass
{
public static void UpdateFieldAOfTableA(int newValue)
{
using(DBContext db = new DBContext())
{
//Update Code
db.SaveChanges();
}
}
}
但是有没有办法扩展DBContext,所以我可以调用:
DBContext.UpdateFieldAOfTableA(newValue);
我尝试创建一个分部类并添加一个扩展名,例如:
public partial class DBContext
{
public static void UpdateFieldAOfTableA(this DBContext db,int newValue)
{
//Update Code here
}
}
但这显然不起作用,因为我只能扩展非泛型静态类,这不是静态的。
你认为我想做的是错的吗?你有什么想法?
答案 0 :(得分:3)
由于DBContext
已经被声明为部分类,因此您不需要使用扩展方法。这应该有效:
public partial class DBContext
{
public void UpdateFieldAOfTableA(int newValue)
{
//Update Code here
}
}
您现在应该可以致电DBContext.UpdateFieldAOfTableA(newValue);
。