LINQ to SQL - 相同的用户对象,不同的数据上下文

时间:2009-12-28 22:24:56

标签: linq-to-sql

我有一个名为UserSystem的用户对象,它由返回用户系统的静态工厂类创建。因为工厂类只存在一次创建此对象,然后处置,是否可以将我持久化的UserSystem对象与我稍后创建的数据库上下文的另一个实例相关联?

我希望避免查询我的新DatabaseContext以找到匹配的UserSystem对象,并简单地将第一个DatabaseContext类中的持久用户对象与我的新DatabaseContext相关联。

谢谢! 乔治

2 个答案:

答案 0 :(得分:1)

您可能希望将对象附加到DataContext。有很多关于此的文章,例如this one。但请注意 - 此方法不允许您附加已附加到另一个DataContext的对象,它仅适用于完全未附加的反序列化对象,我认为这就是您所拥有的。

答案 1 :(得分:0)

您可以使用Attach对象上的Table<T>方法将分离的数据对象插入其中。您可以将其插入修改状态或未修改状态。如果您将其插入修改状态,则下一个SubmitChanges()调用将包含它。

The Table(Of TEntity) Attach method overloads