我有一个用于乘法类型的表,它包含一个名为'ClassName'的Discriminator列,用于指定要加载的对象类型。 ClassName列不可为空,默认值为“Category”
我的问题是在保存新项目时,我收到错误: '无法将值null插入列ClassName'表类别。
我认为ef会将ClassName值设置为新的对象类。 如何使用正确的“ClassName”值保存我的对象?
答案 0 :(得分:1)
我将我的数据库结构更改为接受null。如果对象名称与表名匹配,EF将设置为null,并将为派生类设置分离器名称。
答案 1 :(得分:0)
这是一个古老的问题,但我今天才遇到它。在.net 4.0代码中,首先我不会见到#34;免责声明列"但当降级到净3.5时,它让我累了一天。 这是我的解决方案
将数据库中的列更改为ALLOW NULL(使用alter table) 并更新edmx文件以使其更新更改(允许为空)