【问题标题】:LINQ2SQL vs EF4: Entity retrieval and usage from different contextsLINQ2SQL vs EF4:来自不同上下文的实体检索和使用
【发布时间】:2010-10-01 23:02:46
【问题描述】:

我是 LINQ2SQL 的长期用户,但还没有使用实体框架。

在 LINQ2SQL 中不可能的一件事是在不同的数据上下文中使用被跟踪的实体,或者从不同的数据上下文中“链接”对象。

例子:

Foo f = null;

using (var dc = new DB()) 
  f = dc.Foos.Single(x => x.ID = 1);

using (var dc = new DB()) 
{
  var b = new Baz();
  dc.Bazs.InsertOnSubmit(b);
  f.Baz = b;
  dc.SubmitChanges();
}

注意:IIRC,如果使用断开连接的对象,这可以工作(但 IMO 非常没用)。

今天,我看到一个article on EF4,暗示上面的模式可以与EF4一起使用。

所以问题是:这真的可能吗?

【问题讨论】:

  • 你能详细介绍一下 f.Baz 吗? Baz 有 Foos 收藏吗?
  • @Henk Holterman:这只是对另一个实体的引用。不管是EntityRef 还是EntitySet

标签: c# .net linq-to-sql entity-framework-4


【解决方案1】:

不,你不能

您仍然必须为分离和附加到新的数据上下文而烦恼。 最后,您总是使用对象的唯一键将其从数据库中选出,然后将属性复制到新对象中并保存更改。

悲伤但真实。

我曾经是一个 lin2sql 迷,我确实更喜欢 EF4,尽管在接触了一些之后。我喜欢各种形式的继承——它们可以用来做一些有趣的事情。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-12-19
    • 2011-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-15
    • 1970-01-01
    相关资源
    最近更新 更多