Nhibernate 有没有一种方法可以将一对一映射到where子句?
请原谅我对这一主题的无知,因为我对Hibernate/NHibernate比较陌生,但我遇到了一个无法理解的映射: 这就是我的数据库表的外观:Nhibernate 有没有一种方法可以将一对一映射到where子句?,nhibernate,hibernate,nhibernate-mapping,hibernate-mapping,Nhibernate,Hibernate,Nhibernate Mapping,Hibernate Mapping,请原谅我对这一主题的无知,因为我对Hibernate/NHibernate比较陌生,但我遇到了一个无法理解的映射: 这就是我的数据库表的外观: <bincontents> <id>5873715</id> <title>Video Title</title> <sortorder>0</sortorder> <itemid>23079</itemid> <
<bincontents>
<id>5873715</id>
<title>Video Title</title>
<sortorder>0</sortorder>
<itemid>23079</itemid>
<itemtype>VIDEO</itemtype>
</bincontents>
<bincontents>
<id>5873716</id>
<title>Clip Title</title>
<sortorder>1</sortorder>
<itemid>131854</itemid>
<itemtype>CLIP</itemtype>
</bincontents>
5873715
视频标题
0
23079
视频
5873716
剪辑标题
1.
131854
夹子
有没有一种方法可以将一对一映射到where子句
因此,BinContent对象可以具有视频或剪辑的ItemType。这些被设置为字符串,不幸的是,我无法更改
如果ItemType字段显示“VIDEO”,我希望有一个多对一的“VIDEO”对象,
但是,如果ItemType字段显示“CLIP”,我希望使用多对一剪辑
救命啊
我甚至不确定在这种情况下是否要使用多对一。也许是一对一?你不能在你的类中同时包含视频和剪辑对象,并且确保它们不会同时被填充吗?可能需要您提供更多信息,例如当前的类结构。另外,每个Bin对象只会有一个视频,反之亦然吗?您的类中不能同时有视频和剪辑对象,并且确保它们不会同时填充吗?可能需要您提供更多信息,例如当前的类结构。另外,每个Bin对象是否只会有一个视频,反之亦然?我觉得您似乎有一个继承的候选对象。如果您有一个抽象基类型的BinContents,那么就有一个VideoBinContents派生类,它只包含一个视频映射,还有一个ClipBinContents,它只包含一个剪辑映射。您的itemtype是您的鉴别器。在这里查看更多信息:在我看来,您似乎有一位继承人。如果您有一个抽象基类型的BinContents,那么就有一个VideoBinContents派生类,它只包含一个视频映射,还有一个ClipBinContents,它只包含一个剪辑映射。您的itemtype是您的鉴别器。查看此处了解更多信息:也许这比您要查找的内容更复杂,但似乎您可以为您的垃圾箱设置基类,并拥有视频或剪辑的子类。使用继承的每类表层次结构,可以使用现有的表结构
这样做将允许您为每个子类提供不同的映射。也许这比您正在寻找的要复杂,但似乎您可以为您的BIN设置一个基类,并拥有视频或剪辑的子类。使用继承的每类表层次结构,可以使用现有的表结构
这样做将允许您为每个子类提供不同的映射。您可以查看任意映射。 使用“any”映射,您可以定义多态关联 检查
无论如何,我对你的“领域”不熟悉,但我认为吉姆也有道理。也许你应该检查一下你的数据模型和域模型(如果可能的话),看看这里是否有某种继承不合适。你可以看看any映射。 使用“any”映射,您可以定义多态关联 检查 无论如何,我对你的“领域”不熟悉,但我认为吉姆也有道理。也许您应该检查一下您的数据模型和域模型(如果可能的话),看看这里是否有某种类型的继承不合适