数据库大型(> 60 表)的用户代码优先实体框架

Posted

技术标签:

【中文标题】数据库大型(> 60 表)的用户代码优先实体框架【英文标题】:Should user codefirst entityframework for database large (> 60 table) 【发布时间】:2015-12-18 11:45:24 【问题描述】:

我正在做的项目在数据库中有 60 个表,我应该使用 codefirst 或 datafirst entityframe 工作

【问题讨论】:

没关系。但是,如果您先创建数据库,则出错的可能性较小,尤其是当您必须创建许多数据库时(可能与它们之间的关系?) 你已经有了数据库,现在你开始编码了。这意味着您的逻辑位于数据库中,因此您应该先使用数据库。 对此添加更多信息:没有设置规则来管理/支持数据库优先或代码优先方法。两者的区别在于,首先使用 db 使用 EF 创建模型,就像使用代码首先定义自己的模型一样。 请使用 Twitter 发布此类公告。这根本不是问题 【参考方案1】:

无论有多少表,它实际上都取决于您的域模型所需的表。建模您的领域问题是否需要全部 60 个?

您可能需要考虑bounded contexts 将您的域模型拆分为应用程序的特定区域。大型实体图可能会变得混乱。

这可以通过使用代码优先和 Fluent API 映射中的 preventing the database from being materialised 或从 EDMX 文件中的数据库对域模型建模来实现。

【讨论】:

以上是关于数据库大型(> 60 表)的用户代码优先实体框架的主要内容,如果未能解决你的问题,请参考以下文章

EF 4.1 代码优先:多对多

实体框架 6 代码优先触发器

ndb.query.count() 失败,大型实体的查询截止日期为 60 秒

实体框架代码优先问题(SimpleMembership UserProfile 表)

如何在实体框架代码优先方法中使用表值函数?

使用实体框架和代码优先方法创建数据库时,是不是可以从 SSMS 在数据库表上创建索引