C# Fluent nHibernate-如何在连接表上映射非键列?
以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
(来源:) 我需要在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;}
}