Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.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
C# Fluent nHibernate-如何在连接表上映射非键列?_C#_Database_Nhibernate_Orm_Fluent Nhibernate - Fatal编程技术网

C# Fluent nHibernate-如何在连接表上映射非键列?

C# Fluent nHibernate-如何在连接表上映射非键列?,c#,database,nhibernate,orm,fluent-nhibernate,C#,Database,Nhibernate,Orm,Fluent Nhibernate,以Fluent nHibernate网站上提供的一个例子为例,我需要稍微扩展一下: (来源:) 我需要在StoreProduct表中添加一个“数量”列。我将如何使用nHibernate绘制此地图 上面为给定场景提供了一个映射示例,但我不确定如何将Quantity列映射到Product类上的属性: public class StoreMap : ClassMap<Store> { public StoreMap() { Id(x => x.Id); Ma

以Fluent nHibernate网站上提供的一个例子为例,我需要稍微扩展一下:


(来源:)

我需要在StoreProduct表中添加一个“数量”列。我将如何使用nHibernate绘制此地图

上面为给定场景提供了一个映射示例,但我不确定如何将Quantity列映射到Product类上的属性:

public class StoreMap : ClassMap<Store>
{
  public StoreMap()
  {
    Id(x => x.Id);
    Map(x => x.Name);
    HasMany(x => x.Employee)
      .Inverse()
      .Cascade.All();
    HasManyToMany(x => x.Products)
     .Cascade.All()
     .Table("StoreProduct");
  }
}
公共类存储映射:类映射
{
公共存储地图()
{
Id(x=>x.Id);
Map(x=>x.Name);
HasMany(x=>x.Employee)
.Inverse()
.Cascade.All();
HasManyToMany(x=>x.Products)
.Cascade.All()
.表格(“存储产品”);
}
}

一个建议是不要使用hasManyToMany映射,为StoreProduct(Product的子类)提供一个单独的映射类

新商店映射

public class StoreMap : ClassMap<Store>
{
  public StoreMap()
  {
    Id(x => x.Id);
    Map(x => x.Name);
    HasMany(x => x.Employee)
      .Inverse()
      .Cascade.All();
    HasMany(x => x.Products)
     .Cascade.All();
  }
}

希望这会有所帮助。

一个建议是不要使用hasManyToMany映射,为StoreProduct(Product的子类)提供一个单独的映射类

新商店映射

public class StoreMap : ClassMap<Store>
{
  public StoreMap()
  {
    Id(x => x.Id);
    Map(x => x.Name);
    HasMany(x => x.Employee)
      .Inverse()
      .Cascade.All();
    HasMany(x => x.Products)
     .Cascade.All();
  }
}
希望有帮助

public class StoreProduct : Product
{
    public virtual Store Store {get;set;}
    public virtual int Quantity {get;set;}
}