0
を使用して1対多マッピング:流暢NHibernateは - 私はのラインに沿ってDBスキーマを有する2列
商品
- ID
- 商品名
- 説明
- StoreBrand
ProductVariation
- VariationID
- のProductID
- サイズ
- StoreBrand
- 価格
クラスは、予想通り、見て、このようなビット:
public class Product
{
public virtual int ID { get; set; }
public virtual string ProductName { get; set; }
public virtual string Description { get; set; }
public virtual string StoreBrand { get; set; }
public virtual IEnumerable<ProductVariation> Variations { get; set; }
}
public class ProductVariation
{
public virtual int VariationID { get; set; }
public virtual int ProductID { get; set; }
public virtual Product Product {get; set;}
public virtual string Size { get; set; }
public virtual double Price { get; set; }
}
私はこのようなマッピングクラス持っている:私は何をする必要があるか、しかし
public class ProductMapper : ClassMap<Product>
{
public ProductMapper()
{
Id(x => x.ID);
Map(x => x.ProductName);
Map(x => x.Description);
Map(x => x.StoreBrand);
HasMany(x => x.Variations)
.KeyColumn("ProductID");
}
}
public class ProductVariationMapper : ClassMap<ProductVariation>
{
public ProductVariation()
{
Id(x => x.ID);
Map(x => x.ProductID);
Map(x => x.Size);
Map(x => x.Price);
References(x => x.Product)
.Column("ProductID");
}
}
これは作業の一種である...
は一緒Product.BrandsをネクタイでProductVariation.Brands ...
Productを照会すると、そのブランドのProductVariationsのリストが返されます。 (ProductVariationにはクラス内のプロパティはありませんが、それはコルを持っていますマッピングの場合はmn)
ProductVariation.IDは一意ではありません。 キーはProductVariation.IDおよびProductVariation.Brand(データベース上)です
はproduct.idも固有ではありませんか? – Firo
no-product.idとブランドはコンポジットです – Alex