Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用ninject实现存储库模式_C#_Asp.net Mvc_Repository Pattern - Fatal编程技术网

C# 使用ninject实现存储库模式

C# 使用ninject实现存储库模式,c#,asp.net-mvc,repository-pattern,C#,Asp.net Mvc,Repository Pattern,在我的项目中,我试图实现存储库模式和工作单元。 我找到了一些网站来描述如何实现它,例如: 我想知道,为什么通用工作单元和存储库不是框架?然后在互联网上尝试了几次搜索,我发现了它 这个框架是第一个代码,但我的项目是第一个模型,因此不能正常工作 你能给我推荐这样的模型优先框架吗 我的项目是一个只有一个数据库的互联网网站,如果有合理的理由,我可以将模型优先的方法改为代码优先的方法 感谢您的时间。我们已经将最新版本中的所有接口抽象到Repository.Pattern项目中,计划实现nHibern

在我的项目中,我试图实现存储库模式和工作单元。 我找到了一些网站来描述如何实现它,例如:

我想知道,为什么通用工作单元和存储库不是框架?然后在互联网上尝试了几次搜索,我发现了它

这个框架是第一个代码,但我的项目是第一个模型,因此不能正常工作

你能给我推荐这样的模型优先框架吗

我的项目是一个只有一个数据库的互联网网站,如果有合理的理由,我可以将模型优先的方法改为代码优先的方法


感谢您的时间。

我们已经将最新版本中的所有接口抽象到Repository.Pattern项目中,计划实现nHibernate提供程序。非常欢迎您开始实施这些接口,基于目前的带宽,我目前还不能确定任何日期。

实体框架已经是一个存储库模式,所以您不需要将其打包到另一个存储库模式中。@coolblue2000感谢您的回复,但是如果EF已经是repo模式,为什么要为EF6开发呢?不知道。EF6也是可以模仿的,所以根本没有必要把它包装起来。实体本身就是存储库(在存储库模式中),它们具有更新、获取和保存数据的调用。coolblue2000,实施存储库模式的主要原因之一是最小化我们的ORM技术的表面积,例如EF,nHibernate等。将CRUD在应用程序中发生的位置划分为多个部分,这样就不用在整个表示层中发生CRUD,而是将它们放在存储库层,在存储库层中它们也可以重用。这还提供了抽象,反过来,如果您要切换ORM技术,您将减少需要进行的重构。阅读本文,了解更多关于这种模式的原因。