C# 混淆了VS生成的实体类和用于特定数据显示的视图模型类
我是MVC4新手,最近几天我在做一个MVC项目。我正在使用实体框架。我使用数据库优先的方法。所以我使用了VS的特性,基于模式自动生成实体类。早些时候,我就stackoverflow提出了以下问题: 给出的建议主要基于创建C# 混淆了VS生成的实体类和用于特定数据显示的视图模型类,c#,asp.net-mvc,entity-framework,asp.net-mvc-4,C#,Asp.net Mvc,Entity Framework,Asp.net Mvc 4,我是MVC4新手,最近几天我在做一个MVC项目。我正在使用实体框架。我使用数据库优先的方法。所以我使用了VS的特性,基于模式自动生成实体类。早些时候,我就stackoverflow提出了以下问题: 给出的建议主要基于创建视图模型类。 除了投影我自己选择的列之外,我对创建视图模型类所带来的好处感到困惑。 对于创建、删除和更新而言,生成的实体类工作正常。只有当我必须向用户显示记录列表时,我才使用视图模型类。还要注意,我的VM类几乎与生成的实体类重复 我经常遇到以下问题: [HttpP
视图模型
类。
除了投影我自己选择的列之外,我对创建视图模型类所带来的好处感到困惑。
对于创建
、删除
和更新
而言,生成的实体类工作正常。只有当我必须向用户显示记录列表时,我才使用视图模型类。还要注意,我的VM类
几乎与生成的实体类
重复
我经常遇到以下问题:
[HttpPost]
[ActionName("Edit")]
public ActionResult EditService_POST(SERVICES service)
{
DAL lib = new VFS_DAL();
int state = lib.UpdateService(service);
if (state == 1)
{
return RedirectToAction("Details", new { service_name = service.NAME });
}
else
{
return View("Error");
}
}
[HttpGet]
[ActionName("Edit")]
public ActionResult EditService(string service_name)
{
DAL lib = new DAL();
ServicesVM service = lib.GetServiceDetails(service_name); // This method Returns Object of TYPE ServicesVM which I had created for displaying service details, But for Editing I need Object of type Context_Services so I had to write another method that returns object of type Context_Services. Both are same and cause code redundancy.
return View("EditService",service);
}
我如何处理这种情况。仅仅为了显示几个选定的列,我必须创建Vew模型类,或者它还有其他用途
我如何处理上述情况,以免遇到在实体框架生成的类和视图模型类之间切换的问题,这基本上是代码重复。
这方面的最佳做法是什么
欢迎任何阅读建议,如书籍和链接。
谢谢 视图模型应反映用于验证的数据属性,这些属性可能对基本实体框架类有用,也可能对基本实体框架类无用。因为在某些情况下,类是相似的,或者可以使用相同的自动映射器在实体框架类和视图模型类之间进行映射。有关数据与视图模型的另一个示例,请参见此链接