у меня есть такой код
var menu = _dataManager.Menu.Details(id);
var menu2 = _dataManager.Menu.Details(id);
menu.Name = "AAA";
в этом случае menu2. Имя будет "AAA", я предполагаю это из-за ссылки, но как я могу решить его?
Функция отложенной загрузки данных объекта. Заставьте нагрузку и отсоедините ее от Модели, и тогда она не будет AAA.
Жадная загрузка:
DataLoadOptions op = new DataLoadOptions();
op.LoadWith<Details>(x => x.Menu);
//etc...
_dataManager.LoadOptions = op;
Обновление: похоже, что в прошлом я отключалась, копируя данные в не-сущность POCO.
Скорее всего, метод Details
настроен на возврат одного экземпляра пункта меню, независимо от того, сколько раз вы помещали его в разные имена переменных.
Одним из решений может быть использование другого объекта dataManager для второго пункта меню.