object model
データベース テーブルにマップするを構築する場合classes
、他のエンティティとの関係をどのように指定しますか?
例 :
Category
----------------------
CategoryId INT PK
Name VARCHAR
Description VARCHAR
Product
----------------------
ProductId INT PK
CategoryId INT FK
Name VARCHAR
UnitPrice DECIMAL
UnitInStock INT
class Category
{
public int CategoryId { get; set; }
public string Name { get; set; }
public List<Product> Products { get; set; } //for navigation only
}
class Product
{
public int ProductId { get; set; }
public string Name { get; set; }
public decimal UnitPrice { get; set; }
public int UnitInStock { get; set; }
}
他のエンティティとの関係を定義する最良の方法は何ですか?
class Product
{
//...
public Category Category;
}
また
class Product
{
//...
public int CategoryId;
}
または両方 ?(1 つはデータベース バインディング用 ( int CategoryId
) 1 つはナビゲーション用 ( Category
Category
)
class Product
{
//...
public int CategoryId;
public Category Category;
}