【发布时间】:2011-11-24 21:01:08
【问题描述】:
在 Linq-to-Sql 设计器中,当我没有为抽象基类定义“基类鉴别器值”时,我得到“以 'X' 为根的继承层次结构没有定义默认值。”运行时错误,但如果我这样做,我会得到“抽象类'类名'不应该被分配一个继承鉴别键。”错误。它有什么问题?
编辑:
我自己找到了原因和解决方案。请不要回答我的问题。
即使您知道您的数据库中没有与任何定义的继承代码不匹配的行,无论如何您必须为 Linq-to-Sql 设置“继承默认值”属性。但是您不能将抽象基类用作“继承默认值”。因此,您必须创建什么都不做的虚拟非抽象类(在构造函数中抛出异常等)并将其用作“继承默认值”。将“基类鉴别器值”留空。
【问题讨论】:
-
为什么不添加您的编辑作为您问题的答案以供将来参考?
-
@Denis,将您问题的 edit 部分发布为新答案,然后接受它。
标签: linq-to-sql