[英]Avoid passing around a context when making LINQ SQL OO?
现在,我正在制作使用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();
}
问题是要做一个像删除客户这样的任务,我需要上下文。
有没有一种方法可以始终不需要传递上下文?
是的,为每个操作创建一个新的上下文。
创建数据上下文并不昂贵。 依靠连接池,以便每个新上下文都不会产生创建新连接的开销。 除非您有令人信服的理由支持提交的操作,否则最好不要传递上下文。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.