在 Fluent NHibernate 中两次映射外部表的属性

发布于 2024-09-29 06:40:19 字数 362 浏览 5 评论 0原文

我有 2 个这样的表:(请注意非标准数据库模式命名)

table T_Pen
  TP_ID
  TP_PrimaryColorID
  TP_SecondaryColorID
  ...

table E_Color
  EC_ID
  EC_ColorName
  ...

我想使用 Fluent NHibernate 创建这 2 个表到域对象 Pen 的映射。

class Pen
{
    PenID;
    PrimaryColorName;
    SecondaryColorName;
    ...
}

我怎样才能做到这一点?

I have 2 tables like this: (Please note the non-standard db schema naming)

table T_Pen
  TP_ID
  TP_PrimaryColorID
  TP_SecondaryColorID
  ...

table E_Color
  EC_ID
  EC_ColorName
  ...

And I want to create a mapping of the 2 tables to a domain object Pen using Fluent NHibernate.

class Pen
{
    PenID;
    PrimaryColorName;
    SecondaryColorName;
    ...
}

How can I do that?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

懒的傷心 2024-10-06 06:40:19

如果您仅引用名称,我认为您将无法再插入/更新。

您可以创建 PenColour 视图或隐藏 pen 类中的实际引用并仅公开 Name 属性。

I don't think you would be able to Insert/Update anymore if you were to only reference the Name.

You could create a view of PenColour or hide the actual reference in your pen class and only expose the Name property.

街角迷惘 2024-10-06 06:40:19

笔类
{
int PenID;
颜色原色;
颜色次要颜色;
}

颜色类
{
int ColorID;
字符串颜色名称;

}

类 ColorMap
{
Id(x => x.ColorID);
地图(x => x.ColorName);
}

类 PenMap
{
Id(x => x.PenID);
参考文献(x => x.PrimaryColor).Column("TP_PrimaryColorID");
参考文献(x => x.SecondaryColor).Column("TP_SecondaryColorID");
}

class Pen
{
int PenID;
Color PrimaryColor;
Color SecondaryColor;
}

class Color
{
int ColorID;
string ColorName;

}

class ColorMap
{
Id(x => x.ColorID);
Map(x => x.ColorName);
}

class PenMap
{
Id(x => x.PenID);
References(x => x.PrimaryColor).Column("TP_PrimaryColorID");
References(x => x.SecondaryColor).Column("TP_SecondaryColorID");
}

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文