3

我希望得到一些快速的建议,只是为了告诉我我应该怀疑的天气(a)我做错了什么或(b)我正在尝试做一些不受支持的事情。

DbContext我从 QuickBooks生成了带有表格的代码。它有很多我永远不会使用的桌子,但我认为它不会受到伤害。

一切都很顺利,直到我尝试SaveChanges()在 Customer 表上进行一次插入后调用。我的测试用例成功了,但他的运行时间在 1 到 2 分钟之间。

然后我删除了除客户表和两个相关表之外的所有表,并且相同的测试在 2 毫秒内成功。

我很惊讶实体框架无法在一个上下文中处理数百个表的黄金时间,所以我认为我可能做错了什么。如果不是这种情况,我只想知道它。我不是在抱怨——我实际上并不需要那么多。

一个想法可能会使我在正常情况下所做的事情是我在一次巨大的迁移中添加了所有表。这些二进制迁移对象可能在运行时被引用吗?

这是我所指的 DbContext 的完整代码:https ://gist.github.com/4677208

4

1 回答 1

0

第一次运行之前是否有任何数据库?

我假设,第一次生成数据库时调用 SaveChanges(),如果在 Seed 方法或其他地方初始化时有很多表和/或一些复杂的逻辑或大量数据传输,则可能需要一些时间。

因此,很可能不仅要插入单个客户,而且要生成整个东西需要很多时间。

在您提交第一个客户后尝试添加另一个客户,看看需要多长时间。

于 2013-01-31T07:50:14.160 回答