[已解决问题] LINQ to SQL: Detach 方法
提问时间: 2007-11-26 16:27
悬赏分:20 浏览:471 次

NorthwindDataContext db = new NorthwindDataContext();

Employee emp = db.Employees.First();

 

NorthwindDataContext db2 = new NorthwindDataContext();

db2.Employees.Attach(emp);

 

在rtm版的vsts2008中,不支持跨datacontext的对象attach。如果我的emp 在业务层从其他方法获取,就无法在新的datacontext里使用了,大家有没有解决方法。


提问者:yxiaoxiong - 菜鸟二级

问题补充:可以参考这两个链接
http://blogs.msdn.com/dinesh.kulkarni/archive/2007/10/08/attach-if-you-have-something-detached.aspx
http://blogs.microsoft.co.il/blogs/bursteg/archive/2007/11/21/linq-to-sql-table-lt-t-gt-detach-method-does-not-exist.aspx

Jeffery zhao: 你确认是在rtm下吗,我的程序老是会报错,而且上面两个链接里也明确了attach方法不可以这么来用

Tom Song 在这篇blog里给出了解决方案
http://www.cnblogs.com/126/archive/2007/11/28/976006.html

最佳答案
不是吧,我一直这么做的,没有问题啊。而且就算有Detach方法又有什么用呢?还不是要从之前的DataContext来调用吗?一个对象又不能Detach自身。
我的代码:// 我用的也是RTM。
LinqToSqlDemoDataContext dataContext = new LinqToSqlDemoDataContext();
Order order1 = dataContext.Orders.First();

LinqToSqlDemoDataContext dataContext2 = new LinqToSqlDemoDataContext();
dataContext2.Orders.Attach(order1);

Console.WriteLine("Finished");
Console.ReadLine();
2007/11/26 17:17:10 回答者:Jeffrey Zhao


提问者对于答案的评价:虽然Jeffrey Zhao 没有解决我提的问题,但是感谢他的关注,把分送给他。
其它回答(1)
我的VS也是会抛出异常,设置了Time  Stamp属性也一样。
只有附加新new出来的对象就没问题。
7个月前   回答者:Elden - 菜鸟二级
评论
7个月前   Jeffrey Zhao :
太客气了……如果可以的话把代码发给我看一下吧……
   您需要登录以后才能回答!
我的问题    我要提问


快到期问题

> 问题排行榜

有不合适内容,建议去除