asp.net-mvc-4 – 使用MVC 4和EF 5创建n-tiered

我正在创建n层应用程序,我将有两个单独的项目

1) project EF (where it will have all my edmx...)
2) project MVC 4 (internet application.)

在我的EF中,我有我的.edmx文件,它会生成几个带有所有道具的类,如下所示(作为示例)…

//------------------------------------------------------------------------------
// <auto-generated>
//    This code was generated from a template.
//
//    Manual changes to this file may cause unexpected behavior in your application.
//    Manual changes to this file will be overwritten if the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
    public partial class Requester
    {
        public int Id { get; set; }
        public string FirstName { get; set; }
        public string MiddleName { get; set; }
        public string LastName { get; set; }
        <//more...........>
    }

到目前为止一切都很好!!

回到MVC项目

现在我将在我的MVC项目中创建一个新的Controller,当我尝试创建Scaffolding并提供Controller名称时,Controller需要一个Model,所以真正的问题是:

我应该在这里走什么样的模特?
我应该和EF创建的课程相同吗?或者我应该在我的“模型文件夹”(MVC)中创建另一个模型并绑定它?如果是,我是不是创建重复属性,如果我继续在MVC模型文件夹项目中创建我的相同模型?

我想做什么? :我的这个练习的目的是让我的数据访问层(DAL)与MVC项目完全分开.

有什么想法吗?

最佳答案 我建议创建一个视图模型,这样你就可以用视图相关的东西(即UIHint)来装饰属性.此外,此视图模型将是类的简化版本(例如,它只能包含相关对象的id而不是整个对象),这使得它更容易用作动作参数.

另外,你在这里讨论的是对象,尽量不要考虑“数据”.

点赞