我想设计一个基地树节点类从其他实体类可以得到,我认为这将是这样的:树节点设计首先
public abstract class BaseTreeNode
{
public string Id{get;set;}
public string Name{get;set;}
public string ParentId{get;set;}
[ForeignKey("ParentId")]
public BaseTreeNode ParentNode{get;set;}
}
public class MenuNode:BaseTreeNode
{
}
但是,它似乎并不尝试使用MenuNode类构建某些层次结构时工作。当我调用SaveChanges方法时,它抛出一个SqlException:无效的对象名'dbo.BaseTreeNode'。
我认为问题是关于属性'ParentNode',因为它是一个抽象类。 那么,我应该如何在这种情况下首先使用实体框架4.1代码来设计我的类。
非常感谢!
有人能帮助我吗? – NicolasZ 2011-06-12 05:13:31
我不认为问题是'ParentNode'属性。该模型是有效的(除了'PrarentId',我猜只是一个错字)。问题一定在其他地方。你可以显示1)你的DbContext的DbSet属性,2)任何Fluent映射,如果你有一个,3)抛出异常的代码。 – Slauma 2011-06-12 17:57:10