我有这样的代码
var menu = _dataManager.Menu.Details(id);
var menu2 = _dataManager.Menu.Details(id);
menu.Name = "AAA";
在这种情况下menu2.Name将是“AAA”,我猜它是因为参考,但我该如何解决呢?
答案 0 :(得分:1)
实体延迟加载数据。强制加载并将其与Model断开连接,然后它将不是AAA。
急切加载:
DataLoadOptions op = new DataLoadOptions();
op.LoadWith<Details>(x => x.Menu);
//etc...
_dataManager.LoadOptions = op;
更新:似乎过去我通过将数据复制到非实体POCO来断开连接。
答案 1 :(得分:1)
很可能Details
方法设置为返回菜单项的单个实例,无论您将其放入不同的变量名称的次数。
一种解决方案是为第二个菜单项使用不同的dataManager对象。