c# - 使用 Entity Framework 的模型上的显示名称

标签 c# asp.net asp.net-mvc asp.net-mvc-3

我有一个看起来像这样的代码:

public class MyModel
{
    [Required]
    [Display(Name = "labelForName", ResourceType = typeof(Resources.Resources))]
    public string name{ get; set; }
}

问题是 Entity Framework 生成的模型类中添加了属性Display和Required。我知道我可以使用 Partial 添加功能,但是如何将属性添加到将使用 ORM 删除和更新的类?

最佳答案

根据我的经验,数据库中的模型很少与网页中使用的相同。你总是需要一些改变。因此使用了 ViewModel。另一个好处是,如果更改实体模型,所有使用您的 ViewModel 的网页都不会中断。

至于安全性,如果您有一个 public ActionResult Save(MyEntityModel model) 可能会导致安全漏洞,因为用户可能会弄​​清楚如何将值发布到不应更改的属性(比如 RoleStatusIsAdmin 或其他)。

改为熟悉映射器(如 automapper ),并将属性放在 ViewModel 上。

关于c# - 使用 Entity Framework 的模型上的显示名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5889349/

相关文章:

c# - Unity刚体速度为零但对象仍然移动

.net - 使用 Windows 身份验证时如何模拟另一个 Windows 用户?

c# - 在 C# if 语句中使用 ASP Container.ItemIndex

asp.net-mvc - 如何从 umbraco mvc 中的表面 Controller 添加查询字符串以保留模型值

c# - 在 C# 中使用 Datacontract 反序列化谷歌地理编码 XML

c# - 为什么类型推断和隐式运算符在以下情况下不起作用?

c# - 使用LINQ创建搜索栏不断崩溃

asp.net - 如何找出在我的 Windows 域上托管 LDAP 的服务器?

c# - 在 View 或 Controller 之外的 ASP.NET MVC 中生成 url

javascript - 获取JQuery数据表中特定行的ID