EF6与EF核心单一数据模型或多个用于"大型"用于REST服务的数据库?

时间:2018-06-06 20:32:08

标签: .net entity-framework rest asp.net-web-api

我正在寻找建立一个网络API,提供访问"大"比如大约150个表的数据库和实体框架数据模型。现在与其他人讨论的是将单个web api拆分为多个web api,每个web api都有自己的数据模型,只包含那些涉及的实体。

这个问题是有许多FK关系会导致这些模型之间重叠。所以选择归结为这些:
(a)一个带有多个控制器的api,使用共享类库,其中存在单个ef数据模型 (b)多个api,每个api都有一个或多个控制器,每个api都有自己的数据模型。

我的偏好是(a)。为什么(b)会更好?

1 个答案:

答案 0 :(得分:1)

对我个人而言,选项B听起来像是一场灾难,特别是当您认为支持db的架构中的任何更改可能意味着更新数十个EDM类时。对EF更熟练的其他人可能会发现这个难度是一件微不足道的事情,但在我看来它似乎不过是这样。

使用选项A,虽然在一个地方有更多的控制器要处理,但至少关系逻辑都在EDM的一个地方。此外,在我看来,将业务逻辑保持在一个位置似乎更为明智。