NHibernate袋收集为空
当我尝试使用NHibernate包时,我遇到了一个奇怪的问题 映射NHibernate袋收集为空,nhibernate,nhibernate-mapping,Nhibernate,Nhibernate Mapping,当我尝试使用NHibernate包时,我遇到了一个奇怪的问题 映射 <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" namespace="FMG.APO.Dao.Domain" assembly="FMG.APO.Dao"> <class name="Constraint" table="rConstraintItems" lazy="false"> <id name="Id" ty
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" namespace="FMG.APO.Dao.Domain" assembly="FMG.APO.Dao">
<class name="Constraint" table="rConstraintItems" lazy="false">
<id name="Id" type="Int32" unsaved-value="0">
<column name="ConstraintItemID" sql-type="int" not-null="true" />
<generator class="native" />
</id>
<many-to-one name="ConstraintGroup" class="ConstraintGroup">
<column name="ConstraintGroupID" sql-type="int" not-null="false" />
</many-to-one>
<many-to-one name="Fund" class="Fund">
<column name="FundID" sql-type="int" not-null="true" />
</many-to-one>
<property name="LowerLimit" type="double">
<column name="LowerLimit" sql-type="decimal" not-null="true"/>
</property>
<property name="UpperLimit" type="double">
<column name="UpperLimit" sql-type="decimal" not-null="true"/>
</property>
</class>
</hibernate-mapping>
及
阶级
public class ConstraintGroup
{
private int id;
public int Id
{
get { return id; }
set { id = value; }
}
private int planID;
public int PlanID
{
get { return planID; }
set { planID = value; }
}
private string groupDescr;
public string GroupDescr
{
get { return groupDescr; }
set { groupDescr = value; }
}
protected IList<Constraint> constraints;
public IList<Constraint> Constraints
{
get
{
if (constraints == null)
{
constraints = new List<Constraint>();
}
return constraints;
}
set { constraints = value; }
}
}
公共类约束组
{
私有int-id;
公共整数Id
{
获取{return id;}
设置{id=value;}
}
私有平面;
公共平面图
{
获取{return planID;}
设置{planID=value;}
}
私有字符串groupDescr;
公共字符串GroupDescr
{
获取{return groupDescr;}
设置{groupDescr=value;}
}
受保护的IList约束;
公共IList约束
{
收到
{
if(约束==null)
{
约束=新列表();
}
回报约束;
}
设置{constraints=value;}
}
}
我有两个相同的数据库(我反复检查和比较)。该包在我的测试数据库中填充,但在我的生产数据库中为空。有人能帮我弄清楚吗?我真的被卡住了地图上的包在哪里?很抱歉,我是这个网站的新手。地图现在应该显示行李了。感谢您的帮助。映射似乎还可以,请尝试在查询级别启用日志记录,以查看发布到dbmapping的内容是否正常-您是否通过log4net启用日志记录并捕获生成的SQL语句。还要验证数据库中的数据,即检查是否有映射到queired constraint group的约束。您可以使用下面的链接生成sql语句映射中的包在哪里?很抱歉,我是此站点的新手。地图现在应该显示行李了。感谢您的帮助。映射似乎还可以,请尝试在查询级别启用日志记录,以查看发布到dbmapping的内容是否正常-您是否通过log4net启用日志记录并捕获生成的SQL语句。同时验证数据库中的数据,即检查是否有映射到查询约束组的约束。您可以使用下面的链接生成sql语句
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" namespace="FMG.APO.Dao.Domain" assembly="FMG.APO.Dao">
<class name="ConstraintGroup" table="rConstraintGroups" lazy="false">
<id name="Id" type="Int32" unsaved-value="0">
<column name="ConstraintGroupID" sql-type="int" not-null="true" />
<generator class="native" />
</id>
<property name="PlanID" type="Int32">
<column name="PlanID" sql-type="int" not-null="true"/>
</property>
<property name="GroupDescr" type="String">
<column name="GroupDescr" length="100" sql-type="nvarchar"/>
</property>
<bag name="Constraints" inverse="true" lazy="true" cascade="all">
<key column="ConstraintGroupID"/>
<one-to-many class="Constraint" />
</bag>
</class>
</hibernate-mapping>
public class ConstraintGroup
{
private int id;
public int Id
{
get { return id; }
set { id = value; }
}
private int planID;
public int PlanID
{
get { return planID; }
set { planID = value; }
}
private string groupDescr;
public string GroupDescr
{
get { return groupDescr; }
set { groupDescr = value; }
}
protected IList<Constraint> constraints;
public IList<Constraint> Constraints
{
get
{
if (constraints == null)
{
constraints = new List<Constraint>();
}
return constraints;
}
set { constraints = value; }
}
}