想象一下这张图:
设备1 .. * OperatingEnvironment 1 .. * NetworkEndpoint
如果我在内存中构建一个分离的实体图,并且当操作环境存在且NetworkEndpoint存在但是被分配给不同的OperatingEnvironment时,图的根处的Device是新的,那么EF会将所有这些都计算出来吗?
当我说'搞清楚'时,它只是一个走图形并做(IfExist?MergeValues:AddNew)的情况因为实体都有外键,所以在属性合并期间应该有效地自动重新分配关系。
这是EF的工作原理还是我必须走自己的图并运用这个逻辑?如果我这样做,那么我的内存中的图形必须是弱链接的,即避免通过导航属性链接而是使用外键值,否则整个图形将被添加为我添加一个实体,因为EF将抓取导航属性。
谢谢 - 希望这很清楚。