如何在不覆盖ASP.NET MVC中的模型类的情况下更新(通过合并)edmx

用户名

我正在asp.net mvc中开发一个应用程序。我使用实体框架作为ORM。我有个问题。要使用javascript非侵入式验证,我需要向模型对象添加注释。例如; [必填],[EMailAddress]。但是,当我们向数据库中添加某些内容并对其进行更新时,所有模型类都将被覆盖,并且所有注释都将消失。或者,一旦您打开edmx,就会自动覆盖自动模型类。我怎么解决这个问题。屏幕和类有几十个,edmx中的最小变化都会擦除所有类中的注释,从而浪费大量时间。

// <auto-generated>

using System.ComponentModel.DataAnnotations;

namespace MerinosSurvey.Models
{
using System;
using System.Collections.Generic;

public partial class Surveys
{
    [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
    public Surveys()
    {
        this.SurveyQuestions = new HashSet<SurveyQuestions>();
        this.SurveyCustomers = new HashSet<SurveyCustomers>();
    }

    public int SurveyId { get; set; }
    [Required(ErrorMessage = "Plase enter survey name.")]
    public string SurveyName { get; set; }
    [Required(ErrorMessage = "Please enter survey description.")]
    public string SurveyDescription { get; set; }

    // [DataType(DataType.Date)]
    public System.DateTime? CreatedDate { get; set; }
    //[DataType(DataType.Date)]

    public System.DateTime? UpdatedDate { get; set; }
    public int CreatedUserId { get; set; }
    public bool IsActive { get; set; }
    public bool Status { get; set; }

    [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
    public virtual ICollection<SurveyQuestions> SurveyQuestions { get; set; }
    [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
    public virtual ICollection<SurveyCustomers> SurveyCustomers { get; set; }

    public string Token { get; set; }
}
}

编辑元数据

调查部分和元数据

 //PartialClass
 [MetadataType(typeof(SurveyMetadata))]
 public partial class Surveys
{
}
//Metadata
 public partial class SurveyMetadata
{
    public int SurveyId { get; set; }
    [Required(ErrorMessage = "Lütfen anket adını giriniz.")]
    public string SurveyName { get; set; }
    [Required(ErrorMessage = "Lütfen anket açıklamasını giriniz.")]
    public string SurveyDescription { get; set; }

    // [DataType(DataType.Date)]
    public System.DateTime? CreatedDate { get; set; }
    //[DataType(DataType.Date)]

    public System.DateTime? UpdatedDate { get; set; }
    public int CreatedUserId { get; set; }
    public bool IsActive { get; set; }
    public bool Status { get; set; }

    public virtual ICollection<SurveyQuestionMetadata> SurveyQuestionMetadatas { get; set; }
    public virtual ICollection<SurveyCustomerMetadata> SurveyCustomerMetadatas { get; set; }

    public string Token { get; set; }
}

GetData Ajax事件

  // GET: Survey
    public ActionResult GetData()
    {
        using (MerinosSurveyEntities entity = new MerinosSurveyEntities())
        {
            List<Surveys> surveys = entity.Surveys.Where(x => x.IsActive && x.Status)
                .OrderBy(x => x.SurveyId).ToList();
            return Json(new { data = surveys }, JsonRequestBehavior.AllowGet);
        }
    }

我应该如何更改我的GetData事件。什么列表应该转到客户端?

Shyam Sundar Singh Tomar

最佳做法是,使用ViewModel [Not Entity / Model classes]来在客户端进行操作/播放。

因此,请使用ViewModel,Inherit Model类,然后使用“注释”例如。公共类ViewModelClass:ModelClass {[[Required(“名字是必需的”)] Public String FirstName {get; 设置;}}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在不丢失会话的情况下更新ASP Net Webform或MVC应用程序?

来自分类Dev

在不手动刷新asp.net的情况下如何在gridview中更新数据?

来自分类Dev

如何在不刷新页面asp.net mvc的情况下使用ajax / javascript更新数据库

来自分类Dev

如何在不购买域的情况下托管我的ASP.Net管理面板?

来自分类Dev

如何在不购买域的情况下托管我的ASP.Net管理面板?

来自分类Dev

在不更新Database First Entity Framework MVC应用程序中的其他模型的情况下,向模型(edmx)添加新表

来自分类Dev

如何在ASP.NET MVC中捆绑资产以在不访问Razor的情况下在Angular中使用?

来自分类Dev

如何在ASP NET MVC 6中更新模型?

来自分类Dev

ASP.NET MVC - 在不使用模型注释的情况下检查国家名称中的重复项

来自分类Dev

如何在asp.net中动态将文本追加到Literal类,而不是覆盖文本?

来自分类Dev

如何在Asp.net MVC 5 ApiController中覆盖HttpGet / HttpPost

来自分类Dev

如何在ASP.NET CORE MVC中覆盖默认的Identity AccessDenied路由

来自分类Dev

如何在不覆盖python中任何数据的情况下合并两个文件?

来自分类Dev

如何在不冻结应用程序的情况下从WPF DataGrid从ASP.NET WebAPI获取数据?

来自分类Dev

Asp.net MVC-如何在不按发送按钮的情况下上传文件?选择文件后自动上传

来自分类Dev

如何在ASP.NET MVC中不使用Ajax的情况下从View调用控制器的方法?

来自分类Dev

如何在不丢失数据的情况下更新已部署的ASP MVC网站上的数据库模型

来自分类Dev

如何在不丢失数据的情况下更新已部署的ASP MVC网站上的数据库模型

来自分类Dev

在某些情况下,我是否应该从视图填充模型数据-asp.net MVC

来自分类Dev

如何在不覆盖旧值的情况下更新字典中的键

来自分类Dev

ASP.NET MVC如何在不使用Cookie的情况下提供内容(Azure)?

来自分类Dev

如何在不暴露URL中的virtualdir的情况下运行asp.net应用程序。像stackoverflow.com一样吗?

来自分类Dev

如何在不交互的情况下覆盖而不压缩

来自分类Dev

如何在不拉动的情况下覆盖传入的提交?

来自分类Dev

如何在不覆盖Java的情况下写入文件?

来自分类Dev

如何在不交互的情况下覆盖而不压缩

来自分类Dev

如何在不覆盖文件的情况下多次保存

来自分类Dev

如何在不覆盖的情况下加载数据?

来自分类Dev

默认情况下如何在ASP.NET Core中添加URL参数

Related 相关文章

  1. 1

    如何在不丢失会话的情况下更新ASP Net Webform或MVC应用程序?

  2. 2

    在不手动刷新asp.net的情况下如何在gridview中更新数据?

  3. 3

    如何在不刷新页面asp.net mvc的情况下使用ajax / javascript更新数据库

  4. 4

    如何在不购买域的情况下托管我的ASP.Net管理面板?

  5. 5

    如何在不购买域的情况下托管我的ASP.Net管理面板?

  6. 6

    在不更新Database First Entity Framework MVC应用程序中的其他模型的情况下,向模型(edmx)添加新表

  7. 7

    如何在ASP.NET MVC中捆绑资产以在不访问Razor的情况下在Angular中使用?

  8. 8

    如何在ASP NET MVC 6中更新模型?

  9. 9

    ASP.NET MVC - 在不使用模型注释的情况下检查国家名称中的重复项

  10. 10

    如何在asp.net中动态将文本追加到Literal类,而不是覆盖文本?

  11. 11

    如何在Asp.net MVC 5 ApiController中覆盖HttpGet / HttpPost

  12. 12

    如何在ASP.NET CORE MVC中覆盖默认的Identity AccessDenied路由

  13. 13

    如何在不覆盖python中任何数据的情况下合并两个文件?

  14. 14

    如何在不冻结应用程序的情况下从WPF DataGrid从ASP.NET WebAPI获取数据?

  15. 15

    Asp.net MVC-如何在不按发送按钮的情况下上传文件?选择文件后自动上传

  16. 16

    如何在ASP.NET MVC中不使用Ajax的情况下从View调用控制器的方法?

  17. 17

    如何在不丢失数据的情况下更新已部署的ASP MVC网站上的数据库模型

  18. 18

    如何在不丢失数据的情况下更新已部署的ASP MVC网站上的数据库模型

  19. 19

    在某些情况下,我是否应该从视图填充模型数据-asp.net MVC

  20. 20

    如何在不覆盖旧值的情况下更新字典中的键

  21. 21

    ASP.NET MVC如何在不使用Cookie的情况下提供内容(Azure)?

  22. 22

    如何在不暴露URL中的virtualdir的情况下运行asp.net应用程序。像stackoverflow.com一样吗?

  23. 23

    如何在不交互的情况下覆盖而不压缩

  24. 24

    如何在不拉动的情况下覆盖传入的提交?

  25. 25

    如何在不覆盖Java的情况下写入文件?

  26. 26

    如何在不交互的情况下覆盖而不压缩

  27. 27

    如何在不覆盖文件的情况下多次保存

  28. 28

    如何在不覆盖的情况下加载数据?

  29. 29

    默认情况下如何在ASP.NET Core中添加URL参数

热门标签

归档