【发布时间】:2016-11-09 17:41:13
【问题描述】:
有没有办法在同一上下文中结合代码优先和数据库优先?在编辑 EDMX 文件时,我们遇到了大量的开发时性能问题(保存需要 1.5 分钟)。我已经将我们的非插入/更新/删除 UDF/存储过程移到了一些自动生成模型优先代码的自定义 T4 模板中,但是当涉及 EDMX 时,我似乎无法调用 OnModelCreating。
我们考虑过的其他事情,但由于某种原因不起作用:
我们不能(合理地)将我们的代码分离到多个上下文中,因为我们的实体关系中有很多重叠。似乎也有不少走这条路的人后悔了。
我们尝试了 2 种不同的上下文,但实体和 UDF 之间存在相当多的连接。这可能是我们最后的希望,但我真的很想避免它。
我们无法切换到 Dapper,因为很遗憾我们大量使用了
IQueryable。-
我们尝试完全采用 Code-First,但我们在 EDMX 中使用的某些功能不受支持(主要与插入/更新/删除存储过程映射相关)。
【问题讨论】:
-
EDMX 文件不会为上下文创建分部类吗?好久没用了……
-
确实如此,但据我所知,如果您使用的是 EDMX,则不会调用 OnModelCreating。
-
我不认为是这种情况?
-
默认模板在 OnModelCreating 中有这个: throw new UnintentionalCodeFirstException();所以我认为它不会被调用。
标签: entity-framework entity-framework-6