Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 关于实体的问题_C#_Entity Framework_.net 3.5_Reference - Fatal编程技术网

C# 关于实体的问题

C# 关于实体的问题,c#,entity-framework,.net-3.5,reference,C#,Entity Framework,.net 3.5,Reference,我有这样的密码 var menu = _dataManager.Menu.Details(id); var menu2 = _dataManager.Menu.Details(id); menu.Name = "AAA"; 在本例中,menu2.Name将是“AAA”,我猜这是因为引用,但如何解决它呢?实体延迟加载数据。强制加载并将其从模型上断开,则不会出现AAA 急负荷: DataLoadOptions op = new DataLoadOptions()

我有这样的密码

 var menu = _dataManager.Menu.Details(id);
        var menu2 = _dataManager.Menu.Details(id);

        menu.Name = "AAA";

在本例中,menu2.Name将是“AAA”,我猜这是因为引用,但如何解决它呢?

实体延迟加载数据。强制加载并将其从模型上断开,则不会出现AAA

急负荷:

DataLoadOptions op = new DataLoadOptions();
op.LoadWith<Details>(x => x.Menu);
//etc...
_dataManager.LoadOptions = op;
DataLoadOptions op=newdataloadoptions();
op.LoadWith(x=>x.Menu);
//等等。。。
_dataManager.LoadOptions=op;

更新:在过去,我似乎通过将数据复制到非实体POCO来断开连接。

最有可能的是
Details
方法设置为返回菜单项的单个实例,而不管您将其放入不同的变量名中多少次


一种解决方案是为第二个菜单项使用不同的dataManager对象。

是的,我上次这么做时试图找到代码。读取任何属性都会强制加载。断开连接更具体。回答得好,罗素。这让我开始寻找一种方法来强制对IEnumerable对象进行枚举。我现在正在寻找,但我认为没有枚举()方法或其他方法。在这种情况下会很好。