[英]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.