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