Я загружаю диаграмму связанных объектов из базы данных с помощью ADO.NET MVC и Entity Framework. Один из объектов должен быть изменен в памяти, но изменения не сохраняются в базе данных при изменении других объектов на графике.Как создать объект только для чтения в структуре сущности?
В настоящее время я попытался использовать MergeOption.NoTracking и MergeOption.OverwriteChanges, но оба они кажутся проигнорированными, и любые изменения в наборе объектов, которые не должны быть изменены, сохраняются в хранилище.
Фрагмент кода, который я использую для загрузки сущности графа из базы данных приведены ниже:
QuizDBEntities entities = new QuizDBEntities();
ObjectParameter[] searchParameters = { new ObjectParameter("contestantID", contestantID) };
entities.QuestionSet.MergeOption = MergeOption.NoTracking;
var query = entities.ContestantSet
.Include("Quiz.Questions.Categories.Options.Answer")
.Include("Answers")
.Include("Quiz.Questions.Filters.FilterAnswers")
.Where("it.ContestantID == @constestantID", searchParameters);
Contestant contestant = query.First();
Я также попытался установить MergeOption после того, как запрос выполнен, но перед казнью.
Любая помощь была бы принята с благодарностью.
Где вы установили MergeOption после того, как запрос был сконструирован, на entity.QuestionSet.MergeOption или на переменной «query»? –
Прошло почти 2 года с этого поста, вы нашли обходное решение? – tkerwood