现在我正在制作使用LINQ的方便类。
,
public static bool Remove(Customer c,KezberPMDBDataContext context)
{
if (c != null && context != null)
{
KezberPMDBDataContext db = context;
db.Customers.DeleteOnSubmit(c);
db.SubmitChanges();
return true;
}
return false;
}
我还有其他类似的函数:
public static Customer Get(string description,
KezberPMDBDataContext context = null)
{
KezberPMDBDataContext db = GetContext(context);
return (from p in db.Customers
where p.CustomerDescription == description
select p).FirstOrDefault();
}
问题是要执行像删除客户这样的任务,我需要上下文。
是否有一种方法可以做到这一点,而不总是需要传递上下文?
是的,为每一个操作创建一个新的上下文。
数据上下文的创建成本并不高。它们依赖于连接池,这样每个新上下文就不会有创建新连接的开销。除非您有令人信服的理由支持您提交的操作,否则最好不要传递上下文。