我有一个看起来像这样的代码:
public class MyModel
{
[Required]
[Display(Name = "labelForName", ResourceType = typeof(Resources.Resources))]
public string name{ get; set; }
}
问题是在生成的Entity Framework模型类中添加了属性Display和Required。我知道我可以使用Partial添加功能但是如何将属性添加到将使用ORM擦除和更新的类?
答案 0 :(得分:8)
根据我的经验,数据库中的模型很少与网页中使用的模型相同。你总是需要某种改变。因此使用ViewModel
s。另一个好处是,如果实体模型发生变化,使用ViewModel的所有网页都不会中断。
至于安全性,如果您有public ActionResult Save(MyEntityModel model)
可能导致安全漏洞,因为用户可能会弄清楚如何将值发布到不应更改的属性(例如Role
,{{ 1}},Status
或其他)。
让自己熟悉一个映射器(比如automapper),并将属性放在ViewModel上。
答案 1 :(得分:3)
您是否考虑过T4模板来修改生成的代码。
在处理生成的代码时,我倾向于将T4模板与部分类结合使用。