Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.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/6/entity-framework/4.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/0/mercurial/2.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
.net EF6 vs EF core单数据模型或多数据模型;“大的”;与REST服务一起使用的数据库?_.net_Entity Framework_Rest_Asp.net Web Api - Fatal编程技术网

.net EF6 vs EF core单数据模型或多数据模型;“大的”;与REST服务一起使用的数据库?

.net EF6 vs EF core单数据模型或多数据模型;“大的”;与REST服务一起使用的数据库?,.net,entity-framework,rest,asp.net-web-api,.net,Entity Framework,Rest,Asp.net Web Api,我正在考虑构建一个web api,该api提供对大约150个表的“大型”数据库的访问,并将使用实体框架数据模型。现在与其他人讨论的是将单个web api拆分为多个web api,每个api都有自己的数据模型,其中只包含涉及的实体 问题是有许多FK关系会导致这些模型之间的重叠。因此,选择可以归结为以下几点: (a) 一个具有多个控制器的api,使用一个共享类库,其中驻留一个ef数据模型。 (b) 多个api,每个api有一个或多个控制器,每个api有自己的数据模型 我喜欢(a)。为什么B可以更好?

我正在考虑构建一个web api,该api提供对大约150个表的“大型”数据库的访问,并将使用实体框架数据模型。现在与其他人讨论的是将单个web api拆分为多个web api,每个api都有自己的数据模型,其中只包含涉及的实体

问题是有许多FK关系会导致这些模型之间的重叠。因此,选择可以归结为以下几点:
(a) 一个具有多个控制器的api,使用一个共享类库,其中驻留一个ef数据模型。
(b) 多个api,每个api有一个或多个控制器,每个api有自己的数据模型


我喜欢(a)。为什么B可以更好?

< P>选项B对我来说听起来像是一场灾难,尤其是当你认为支持数据库模式的任何改变都可能意味着更新几十个EDM类时。其他更精通EF的人可能会发现困难只是一个小小的不便,但在我看来,它似乎不是这样


对于选项A,尽管在一个地方要处理更多的控制器,但在EDM中,至少关系逻辑都在一个地方。而且,在我看来,将业务逻辑放在一个地方似乎更明智。

为什么你认为b是一个真正的选择?仅包含一个控制器的项目在语义上并不意味着一个项目。你真正想问的问题是什么?这个问题看起来像是xy问题。API有一个用途。定义目的,您就定义了API及其所需的数据。并非所有API都应公开所有FK。通常的做法是定义API作用域,而不是定义不同的API。不过,所有这些都是基于意见的,不适合堆栈溢出。