обновить объект объекта вместе с его обновленными свойствами навигации

Я использую первый подход к базе данных EF в приложении asp.net mvc, и я создал классы сущностей примерно так.

public class BenchmarkRange
{
    public int ID { get; set; }
    public int GoodForm { get; set; }
    public int GoodTo { get; set; }
    //...
    public ICollection<PerformanceScores> PerformanceScores { get; set; }
}

public class PerformanceScores
{
    public int ID { get; set; }
    public int BenchmarkRangeID { get; set; }
    public int RangeFrom { get; set; }
    public int RangeTo { get; set; }
    public int Score { get; set; }

    public BenchmarkRange BenchmarkRange { get; set; }
}

теперь я отправляю объект BenchmarkRange для просмотра..

некоторое редактирование происходит на стороне клиента, и я возвращаю модель по привязке модели по умолчанию, и она будет иметь PerformanceScores с некоторыми отредактированными, некоторыми новыми добавленными, некоторыми удаленными из коллекции.

Как обновить BenchmarkRange обновленным PerformanceScores?

На самом деле я понятия не имею, как мне это сделать. Я попытался получить тот же объект из базы данных и сравнить его с новым, но его ошибка выдает что-то вроде ..multiple objects with same key cannot be tracked by the ObjectstateManager..

Может, пожалуйста, кто-нибудь помочь?


person dotNETbeginner    schedule 15.09.2013    source источник


Ответы (1)


Вам нужно создать новый класс (viewModel) и поместить обе сущности в этот класс. Вы можете увидеть более подробную информацию с полным примером здесь...

Получение ошибки при POST с Entity Framework — значение не может быть нулевым. Имя параметра: источник

person tintyethan    schedule 17.10.2013
comment
Это может быть лучше - любой из них должен дать вам необходимое начало... 19428986" title="обновление набора классов или модели представления"> stackoverflow.com/questions/19427402/ - person tintyethan; 17.10.2013