如何在一个MVC应用程序中完全结合EntityFramework,Repository,UnitOfWork和Automapper?
首先,我决定创建一个名为IDataAccessLayer
接口,并开始将所有内容放入其中: GetUsers()
, GetUser(int id)
, GetOrderByNumber(int number)
, DeleteOrder(int Id)
等方法。
起初工作刚刚完美。 但后来我意识到DataLayer:IDataLayer
的具体实现DataLayer:IDataLayer
正在发展壮大。 我决定把它切成几个部分类文件。 我仍然觉得我做错了什么。
然后我决定为每个逻辑部分创建接口,如IUsers
, IOrders
, IItems
等。没有用,因为我通过注入控制器构造函数的一个依赖属性访问存储库。 所以每次我需要在我的控制器中使用不同类型的dataContext时,我不能只添加另一个属性。
然后经过几个小时阅读有关entity framework的文章后,我终于意识到我必须使用Repository和Unit of work模式。 而且我仍然需要以某种方式将POCO与我的ViewModel对象分开,尽管他们几乎总是分享相似之处。 Automapper有很多帮助。 但是现在,我不确定如何一起使用所有东西。 entity framework,模式,自动映射和dependency injection框架,如Ninject。
我不清楚如何将所有内容混合到一个很棒的架构中。 你能告诉我一些很好的例子。
首先是关于使用Repository和UnitOfWork原则的n层架构的整篇文章: 链接 。 我有一些使用EF和前面提到的模式的经验,我发现这篇文章很有帮助。
看看这里以及这些关于这些原则的MSDN文章。
问候。
您可以看看我几个月前写的这个样本(MVCArch) 。 它利用了以下优势:
希望这可以帮助。
你经历过这些教程吗?
上述就是C#学习教程:如何在一个MVC应用程序中完全结合EntityFramework,Repository,UnitOfWork和Automapper?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/984620.html