|
|
1
0
我终于知道发生了什么事。其中一个“问题”表实际上不是问题,只是我对实体框架如何工作的误解。此表是一个纯联接表,只有两列:一列指向表a,另一列指向表B。实体框架不会为纯联接表生成类。相反,它只是将其转换为两个联接表的类(类A和类B)上的导航链接。 第二个表的问题是真实的,是由数据库中不匹配的列定义引起的。外键定义的一侧有一列类型编号(18),另一侧有一列类型编号(22)。EF正在将数字(18)转换为长,将数字(22)转换为十进制。EF显然不喜欢在其导航链接的末端有不同的C#类型。 为了解决这个问题,我修改了EDM编号映射(请参见 https://docs.oracle.com/cd/E56485_01/win.121/e55744/entityDataTypeMapping.htm#BABGBJCI )所以数字(18)和数字(22)都解析为long。然后,我从EF设计器中删除了所有表定义,并重新添加它们,以便重新生成所有字段类型。我想我也可以通过修复数据库中不匹配的类型来解决这个问题,但我在几十个地方发现了同样的问题,所以我选择了代码解决方案。 |
|
|
Leron · EF多对多关系未为其中一个实体添加记录 7 年前 |
|
Whirlwind · 使用实体框架6创建计算属性 7 年前 |
|
|
MJK · 规范模式-使用ICollection实现表达式 7 年前 |
|
|
user441521 · EF 6与它所持有的类不同的数据库集名称 7 年前 |