[英]DisplayName on Model that use Entity Framework
我有一个看起来像这样的代码:
public class MyModel
{
[Required]
[Display(Name = "labelForName", ResourceType = typeof(Resources.Resources))]
public string name{ get; set; }
}
问题是Entity Framework生成的model class中添加了属性Display和Required。 我知道我可以使用 Partial 添加功能,但是如何向 class 添加属性,该属性将使用 ORM 进行擦除和更新?
根据我的经验,数据库中的模型很少与 web 页面中使用的模型相同。 你总是需要一些改变。 因此使用ViewModel
。 另一个好处是,如果实体 model 更改,所有使用 ViewModel 的 web 页面都不会中断。
至于安全性,如果您有一个public ActionResult Save(MyEntityModel model)
可能会导致安全漏洞,因为用户可能会弄清楚如何将值发布到不应更改的属性(如Role
、 Status
、 IsAdmin
或其他)。
让自己熟悉映射器(如automapper ),然后将属性放在 ViewModel 上。
您是否考虑过使用 T4 模板来修改生成的代码。
在处理生成的代码时,我倾向于将 T4 模板与部分类结合使用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.