NHibernate映射问题
我不知道如何使用 Nhibernate 3.0 获得正确的映射
我有两个 POCO:
public class Account
{
public virtual string AccountNumber { get; set; }
public virtual IList<AccountSummary> AccountSummaries { get; set; }
}
public class AccountSummary
{
public virtual uint Id { get; protected set; }
public virtual string AccountNumber { get; set; }
public virtual DateTime TradeDate { get; set; }
}
我想映射表中的类,如下所示:
表:accounts(列:account_number)
表:account_summaries(列:id,column: trade_date,列:account_number)
如何避免在 AccountSummary 类中出现 Account 对象,就像我通常对一对多/多对一所做的那样映射。我希望 AccountSummary 类具有 AccountNumber 属性,而不是具有 Account 对象的 AccountNumber 属性,如类定义中那样,并引用 Account 类。
我还想将 trade_date 和 account_number 列映射为自然 ID 或唯一键。
我的映射如下所示:
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
assembly="FundAccountDBExperiment"
namespace="FundAccountDBExperiment.Models">
<class name="Account" table="accounts">
<composite-id>
<key-property name="AccountNumber" column="account_number" length="40"/>
</composite-id>
<bag name="AccountSummaries" table="account_summaries" cascade="all-delete-orphan" inverse="true">
<key column="account_number"/>
<one-to-many class="AccountSummary"/>
</bag>
</class>
</hibernate-mapping>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
assembly="FundAccountDBExperiment"
namespace="FundAccountDBExperiment.Models">
<class name="AccountSummary" table="account_summaries">
<id name="Id" column="id">
<generator class="native"/>
</id>
<property name="TradeDate" column="trade_date" type="date" not-null="true"/>
<join table="account">
<key column="acount_number"/>
</join>
</class>
</hibernate-mapping>
任何形式的帮助将不胜感激。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这还不够吗?
和唯一约束请参阅“myUniqueIndex”
希望这有帮助
wouldn't this suffice?
and the unique constraint see "myUniqueIndex"
hope this helps