DisplayName on Model that use Entity Framework

前端 未结 2 1533
情书的邮戳
情书的邮戳 2020-12-20 20:14

I have a code that look like this :

public class MyModel
{
    [Required]
    [Display(Name = \"labelForName\", ResourceType = typeof(Resources.Resources))]         


        
相关标签:
2条回答
  • 2020-12-20 20:43

    Have you considered a T4 Template to modify generated code.

    http://www.hanselman.com/blog/T4TextTemplateTransformationToolkitCodeGenerationBestKeptVisualStudioSecret.aspx

    I tend to use T4 templates in combination with partial classes when dealing with generated code.

    0 讨论(0)
  • 2020-12-20 20:59

    In my experience, models from a database are seldom the same as being used in web pages. You always need some kind of change. Hence the usage of ViewModels. Another upside is that all web pages that use your ViewModel won't break if the entity model is changed.

    As for security, if you have a public ActionResult Save(MyEntityModel model) can lead to a security breach since the user may figure out how to post values to properties that shouldn't be changed (like Role, Status, IsAdmin or whatever).

    Get yourself familiar with a mapper (like automapper) instead, and put the attributes on the ViewModel.

    0 讨论(0)
提交回复
热议问题