Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/262.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.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# ASP.NET MVC 4实体框架数据库第一存储库_C#_Asp.net_Asp.net Mvc_Entity Framework_Repository - Fatal编程技术网

C# ASP.NET MVC 4实体框架数据库第一存储库

C# ASP.NET MVC 4实体框架数据库第一存储库,c#,asp.net,asp.net-mvc,entity-framework,repository,C#,Asp.net,Asp.net Mvc,Entity Framework,Repository,我一直在阅读Pro ASP.NET 4和演示应用程序,它们首先使用实体框架代码。在我的项目中,我已经得到了数据库。在书中,他们只处理一个表,然后为它创建一个ITableNameRepository,然后将其传递给控制器的构造函数。首先用整个数据库的模型创建存储库是否正确?我是否应该向每个控制器的IMyDataModel构造函数传递一个实例?接口名称中有一条线索。他们称之为ITableNameRepository,而不是IDatabaseNameRepository 在我的应用程序中,我传入了一个

我一直在阅读
Pro ASP.NET 4
和演示应用程序,它们首先使用实体框架代码。在我的项目中,我已经得到了数据库。在书中,他们只处理一个表,然后为它创建一个
ITableNameRepository
,然后将其传递给控制器的构造函数。首先用整个数据库的模型创建存储库是否正确?我是否应该向每个控制器的
IMyDataModel
构造函数传递一个实例?

接口名称中有一条线索。他们称之为
ITableNameRepository
,而不是
IDatabaseNameRepository

在我的应用程序中,我传入了一个
IUnitOfWork
,它将各种存储库作为属性,因此控制器的所有存储库都有一个类似的构造函数签名,当控制器需要访问新存储库时,该签名无需更改

DbContext
类本身是工作单元和存储库模式的组合,其中
DbSet
s充当存储库,并
SaveChanges()
实现工作单元

DbContext
IUnitOfWork
确实意味着控制器可以访问整个数据库,但是可以通过几个存储库而不是一个大的存储库。我为每个表使用一个存储库,但我看到许多人提倡“聚合根”