Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2005 NHibernate elt场_Sql Server 2005_Nhibernate - Fatal编程技术网

Sql server 2005 NHibernate elt场

Sql server 2005 NHibernate elt场,sql-server-2005,nhibernate,Sql Server 2005,Nhibernate,有人知道为什么NHibernate为多对多映射生成int类型的名为“elt”的字段吗? 我想知道为什么我需要它。 感谢在多对多映射中,“elt”字段是元素的外键。在联接表中,您应该看到两个外键列,id(父项)和elt(元素)。如果你愿意,你可以用不同的名字;这些都是默认设置。谢谢,是的,你说得对,多玩一点我发现如果 不要显式命名默认为elt的列 <bag name="equipment" table="tb_room_equipment" lazy="false"> <ke

有人知道为什么NHibernate为多对多映射生成int类型的名为“elt”的字段吗? 我想知道为什么我需要它。
感谢

在多对多映射中,“elt”字段是元素的外键。在联接表中,您应该看到两个外键列,id(父项)和elt(元素)。如果你愿意,你可以用不同的名字;这些都是默认设置。

谢谢,是的,你说得对,多玩一点我发现如果 不要显式命名默认为elt的列

<bag name="equipment" table="tb_room_equipment" lazy="false">
  <key column="roomID"/>
  <many-to-many class="Equipment" column="equipmentID"/>
</bag>


像这里一样,我现在命名了列equipmentID;如果我不这样做,它将被命名为elt。

最近发现,如果您在使用代码映射时使用了关键字,如用户或角色,则会创建elt字段。这只是一个观察,我没有尝试使用`(倒勾)强制引用