什么是DataContext隔离

Magichi 2010-07-08 05:28:46
DataContext隔离
有的时候我们会把对象从外部传入DataContext,要求它更新,由于不同的DataContext是相对独立的。由于新的DataContext中还没有获取实体,我们只能通过附加方式更新数据。

Customer c = new Customer { CustomerID = "ALFKI", ContactName = "zhuye", CompanyName = "1111" };
ctx.Customers.Attach(c, true);
ctx.SubmitChanges();



以上是书中内容,语句都看得懂,问题是什么是叫DataContext隔离
...全文
164 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Magichi 2010-07-12
  • 打赏
  • 举报
回复
继续等待高人解答
Sunpire 2010-07-08
  • 打赏
  • 举报
回复
如果LZ有用过 WebService 或 WCF ,那么例子是很容易被理解的。

“外部”就是指客户端,而 DataContext 运行在服务器上,WebService 公开了一个方法
public bool AddCustomer( Customer c )
{
...
}

客户端调用这个方法,传入 c 这个参数, c 对于 AddCustomer() 乃至整个服务端而言都是 Detached 脱离的,在 AddCustomer() 中的 DataContext 想要把 c 插入数据库,就要先把 c 作为新增加的对象Attach ,然后才能调用 SubmitChanges()。

DataContext 只有把 Customer 的状态管理起来了,才能调用 SubmitChanges(),处于 Detached 状态的实体 Customer ,DataContext 是无法对其进行跟踪,并将变化写入数据库的。

8,497

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 LINQ
社区管理员
  • LINQ
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧