小编Jam*_*ier的帖子

首先使用Entity Framework代码保存单个对象

我在项目中使用Entity Framework 4.3.1,首先使用代码和DbContext API.我的应用程序是一个n层应用程序,其中断开连接的对象可能来自客户端.我正在使用SQL Server 2008 R2,但很快就会转向SQL Azure.我遇到了一个我似乎无法解决的问题.

想象一下我有几节课:

class A {
    // Random stuff here
}
class B {
    // Random stuff here
    public A MyA { get; set; }
}
class C {
    // Random stuff here
    public A MyA { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

默认情况下,EF在对象图上运行.例如,如果我有一个B的实例封装了A和I的实例myDbSet.Add(myB);,它也会将A的实例标记为正在添加(假设它尚未被跟踪).

我在我的应用程序中有一个场景,我需要明确哪些对象被持久化到数据库,而不是让它跟踪整个对象图.操作顺序如下:

A myA = new A(); // Represents something already in DB that doesn't need to be udpated.
C myC = new C() { // Represents something already in DB …
Run Code Online (Sandbox Code Playgroud)

entity-framework entity-framework-4.1 entity-framework-4.3

5
推荐指数
1
解决办法
7770
查看次数