【发布时间】:2011-01-14 13:19:59
【问题描述】:
您好,我正在尝试将基类的通用属性保存在一个位置,并使用 XML ENTITY 在 Nhibernate 映射文件中进行引用。
映射文件
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE hibernate-mapping [
<!ENTITY BasePropertyList SYSTEM "BasePropertyList.xml">
]>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
assembly="Model" namespace= "Model" default-lazy="false">
<class name="DerivedClass">
&BasePropertyList;
</class>
</hibernate-mapping>
BasePropertyList.xml
<id name="ID" column="ID" type="Int32" unsaved-value="0">
<generator class="native"></generator>
</id>
<property name="CreatedDate" update="false" />
<property name="CreatedBy" update="false" />
<property name="LastModifiedDate" />
<property name="LastModifiedBy" />
我收到以下异常
System.Xml.XmlException :此 XML 文档中禁止使用 DTD。 在 NHibernate.Cfg.Configuration.LogAndThrow(Exception 异常)
我在这里遗漏了什么吗? DOCTYPE 在 Nhibernate 映射文件中是如何工作的??
【问题讨论】:
-
我不知道doctype,但是你为什么不为basepropertylist中的属性使用一个公共子类呢?这将为您节省一些 ctrl+c/ctrl+v
-
@Paco...我假设 OP 已经使用对象完成了这项工作,现在希望继承也能在映射文件中工作。 AFAIK 无法使用映射文件执行此操作...
-
我指的是 Nhibernate 文档中的这一部分。 ] 和映射中的 &allproperties; )。" >>>>
标签: nhibernate doctype