使用 NHibernate 将类属性映射到另一个表中的另一个数据库列

问题描述

伙计们,我真的很困惑如何通过 NHiberate 映射某个类的属性

我有一堂这样的课:

public sealed class Ship
{
    public Int64 Id { get; private set; }
    public Int NavigationMapId { get; set; }
    public String NavigationMapTitle { get; set; }
    public ISet<ShipSources> ShipSourcess { get; private set; }
    
... 
}

我希望使用 NavigationMapTitle 作为其他表 NavigationMapId 列的键将 id 映射到另一个表中的数据库列。

所以这个类有NavigationMapIdNavigationMapTitle。另一个数据库表是 NavigationMap,带有 idtitle 列。

现在,我想出了如何将类中的集合映射到另一个表,如下所示:

对于这门课,我有这个:

public ISet<ShipSources> ShipSourcess { get; private set; }

我像这样成功地映射了它:

Set(x => x.ShipSourcess,cm => {
    cm.Schema("ship");
    cm.Key(km => km.Column("shipId"));
},rm => {
    rm.Component(cm => {
        cm.Property(x => x.BaseUrl,pm => {
            pm.Type(NHibernateUtil.AnsiString);
            pm.Length(DatabaseConstants.ShortUrl);
            pm.NotNullable(true);
        });
    });

但我不知道如何为字符串做这件事。

有人有这方面的经验吗?

谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)