вы можете использовать viewmodels для отображения или редактирования, сохраняя при этом сопоставление вашей модели представления с моделью домена (исключая ненужные поля), а затем сохраняйте ее.Вы можете использовать инструмент auto mapper
для сопоставления моделей представлений с моделями доменов.
скажем, например, у вас есть человек класса домена
public class Person
{
public string Name {get; set;}
public string Address {get; set;}
}
, затем вы создаете модель представления
public class VMPerson
{
public string Name {get; set;}
public string Address {get; set;}
public int Age{get;set;}
}
извлеките данные в модель представления и передайте их вашему представлению, запрос может выглядеть так:
var q = (from p in db.Person
select new VMPerson{
Name = p.name,
Address = p.address,
Age = 16
}).SingleOrDefault();
return q;
, по вашему мнению, возраст также будет отображаться, затем в сообщении
[HttpPost]
public ActionResult Person(VMPerson vmperson)
{
Person p = new Person()// your domain object
// mapping part here
p.name = vmperson.name;
p.address = vmperson;
TryUpdateModel(p);
db.Person.Save();
}