C# NHibernate模型映射

C# NHibernate模型映射,c#,nhibernate,C#,Nhibernate,我有以下数据库模式(MS SQL 2008): 商店 ID int(主键) 姓名nvarchar(200) 供应商 ID int(主键) ShopID int(FK->Shops.ID) 姓名nvarchar(200) 联络 ID int(主键) 供应商ID int(FK->Suppliers.ID) 电话nvarchar(100) 我的项目中有以下模型: public class Shop { public int Id { get; set; } public string

我有以下数据库模式(MS SQL 2008):

商店 ID int(主键) 姓名nvarchar(200) 供应商 ID int(主键) ShopID int(FK->Shops.ID) 姓名nvarchar(200) 联络 ID int(主键) 供应商ID int(FK->Suppliers.ID) 电话nvarchar(100) 我的项目中有以下模型:

public class Shop
{
    public int Id { get; set; }
    public string Name { get; set; }
    public IList<SupplierContact> SupplierContacts { get; set; }
}

public class SupplierContact
{
    public int Id { get; set; }
    public string Phone { get; set; }
}
公共类商店
{
公共int Id{get;set;}
公共字符串名称{get;set;}
公共IList供应商联系人{get;set;}
}
公共类供应商联系人
{
公共int Id{get;set;}
公用字符串电话{get;set;}
}
我用映射文件加载我的
Shop
模型,但运气不好。主要的是我不需要
供应商
模型,我不知道应该如何实现映射以将所有供应商电话作为
商店
模型的子列表加载

任何关于如何创建映射的帮助都将不胜感激

提前谢谢

p.S.
商店
供应商联系人
型号将不会更改或删除。


<class name="SupplierContact" table="SupplierContact">
   <id name="id" column="id">
      <generator class="native" />
   </id>
   ... other properties etc ...
   <many-to-one name="Shop" column="ShopId" class="Shop" />
</class>

<class name="Shop" table="Shop">
   <id name="Id" column="Id">
      <generator class="native" />
   </id>
   ... properties etc ...
   <set name="SupplierContacts" table="SupplierContact">
      <key column="ShopId" />
      <one-to-many class="SupplierContact" />
   </set>
</class>
... 其他财产等。。。 ... 属性等。。。

编辑:修正了打字错误。

有些地方不对劲:我得到的
Shop
s只有一个
SupplierContact
ant他们都有相同的ID。你能在你实际工作的地方贴出来吗?听起来好像发生了什么事。另一个选择是查看NHProf-它显示了通过NH进行的所有DB事务,并有助于了解更多信息。NH抱怨
key
节点中的
name
属性。我用的是NH2.1.2,如果有什么不同的话。啊,是的,哎呀,我错了。应该是-抱歉。id无效-NH尝试选择具有供应商联系人的店铺,其中Shops.id=SupplierContacts.id。使用SQL探查器检查
<class name="SupplierContact" table="SupplierContact">
   <id name="id" column="id">
      <generator class="native" />
   </id>
   ... other properties etc ...
   <many-to-one name="Shop" column="ShopId" class="Shop" />
</class>

<class name="Shop" table="Shop">
   <id name="Id" column="Id">
      <generator class="native" />
   </id>
   ... properties etc ...
   <set name="SupplierContacts" table="SupplierContact">
      <key column="ShopId" />
      <one-to-many class="SupplierContact" />
   </set>
</class>