0

我有一个用于多类型类别的表,它包含一个名为“ClassName”的鉴别器列,以指定要加载的对象类型。ClassName 列不可为空,默认值为“Category”

我的问题是在保存新项目时出现错误:“无法将值 null 插入列 ClassName”表类别中。

我认为 ef 会根据新的对象类设置 ClassName 值。如何使用正确的“ClassName”值保存我的对象?

4

2 回答 2

1

我更改了我的数据库结构以接受空值。如果对象名称与表名称匹配,EF 将设置为 null,并将为派生类设置鉴别器名称。

于 2011-11-21T16:59:45.927 回答
0

这是个老问题,但我今天才遇到。在 .net 4.0 代码中,我没有遇到“免责声明栏”,但是当降级到 net 3.5 时,我累了一天。这是我的解决方案

将数据库中的列更改为 ALLOW NULL(使用 alter table)并更新 edmx 文件以使其更新更改(允许 null)

于 2015-02-25T11:13:04.883 回答