在 Fluent NHibernate 中两次映射外部表的属性
我有 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您仅引用名称,我认为您将无法再插入/更新。
您可以创建 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.
笔类
{
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");
}