C# “错误”;元素';类别';中有无效的子元素';设置';“在名称空间中”;映射hbm文件时
H希望在我的应用程序中使用继承,但当我运行时,我的hbm映射文件出现错误。我的密码在这里C# “错误”;元素';类别';中有无效的子元素';设置';“在名称空间中”;映射hbm文件时,c#,.net,nhibernate,mapping,C#,.net,Nhibernate,Mapping,H希望在我的应用程序中使用继承,但当我运行时,我的hbm映射文件出现错误。我的密码在这里 public class StudentDao { public virtual int Id { get; set; } public virtual string FirstName { get; set; } public virtual string LastName { get; set; } public virtual
public class StudentDao
{
public virtual int Id { get; set; }
public virtual string FirstName { get; set; }
public virtual string LastName { get; set; }
public virtual StudentDegreeType Degree { get; set; }
public virtual string Field { get; set; }
public virtual IEnumerable<StudentCourse> StudentCourses { get; set; }
下一节儿童课:
public class MasterStudent : StudentDao
{
public virtual bool Article { get; set; }
}
}
运行此命令后,会出现以下错误:
命名空间“urn:nhibernate-mapping-2.2”中的元素“class”在命名空间“urn:nhibernate-mapping-2.2”中具有无效的子元素“set”。可能的元素列表应为命名空间“urn:nhibernate-mapping-2.2”中的“subclass、loader、sql insert、sql update、sql delete、filter、resultset、query、sql query、sql query”
我应该怎么做???在子类元素之前需要定义set元素。i、 e:
<set name="StudentCourses" table="StudentCourse" inverse="true" cascade="all,delete-orphan">
<key column="ID"/>
<one-to-many class="StudentCourse"/>
</set>
<subclass name="MasterStudent" discriminator-value="1">
<property name="َArticle" />
</subclass>
<subclass name="BachelorStudent" discriminator-value="2">
</subclass>
这里没有人??我真的需要帮助。请帮帮我。StudentCourse
在Tosan.Sevrice.DataAccess.Dao
命名空间中吗?否则,它至少需要一个完全限定的名称。而StudentDegreeType
是NHibernate可以映射的东西吗?否则它将需要自己的映射实际上这是一个奇怪的错误,它说XML无效,但Nhib文档提供相同的元素结构。。。
public class MasterStudent : StudentDao
{
public virtual bool Article { get; set; }
}
}
<set name="StudentCourses" table="StudentCourse" inverse="true" cascade="all,delete-orphan">
<key column="ID"/>
<one-to-many class="StudentCourse"/>
</set>
<subclass name="MasterStudent" discriminator-value="1">
<property name="َArticle" />
</subclass>
<subclass name="BachelorStudent" discriminator-value="2">
</subclass>