如何在Entity-Framework中更新实体?

时间:2010-12-13 13:28:53

标签: c# asp.net-mvc entity-framework .net-4.0

我构建了一个使用Entity Framework的ASP.NET MVC Web应用程序。为了给视图提供正确的数据,我创建了表示模型​​类部分的特殊视图类。

我有两个问题。

  1. 如何最好地将数据从视图对象转换为模型对象?现在我在ViewClass.ToModel()和ViewClass.FromModel(ModelClass)等方法中手动执行此操作。但是,如果更新模型,则可能必须更新此转换。我真的必须手动执行此操作吗?

  2. 将viewobject转换为modelobject时,可能会发生某些属性未设置,因此值为null或string.empty。这个问题是当运行refresh(在entityframework中)时,这个空(未设置)属性将覆盖真实数据。我该怎么办?

  3. 一种解决方案可能是从数据库中获取modelobject,然后只转换已设置为modelobject的peroperties?问题可能是属性上的值可以设置为null,我怎么知道这个属性是否设置?或者我是否必须根据操作编写特殊的更新方法?

    BestRegards

1 个答案:

答案 0 :(得分:5)

  

如何最好地将数据从视图对象转换为模型对象?

AutoMapper

  

将viewobject转换为   modelobject它可能会发生一些   没有设置属性值   将为null或string.empty。该   这个问题是在运行时   刷新(在entityframework中)这个   空(未设置)属性将是   覆盖真实数据。应该怎样   我处理这个?

如果您的数据访问层(无论使用何种技术,Entity Framework,NHibernate,...)无法处理此方案,您可能需要专门针对这些情况定制的更新方法。