次の単純な「教科書」クラスが定義されています。
public class Product
{
public int Id { get; set; }
public string Name { get; set; }
public int Category { get; set; }
}
public class Category
{
public int Id { get; set; }
public string Name { get; set; }
}
Product の Category フィールドは、Category クラスの Id フィールドを参照する整数です。データベースでは、Product テーブルと Category テーブルの間の外部キー リレーションシップになります。
しかし、私のアプリケーションでは、製品のカテゴリのフレンドリ名を表示する必要があります。
Q1 : 次のように新しいクラスを定義するのは正しい方法ですか?
public class ProductJ : Product
{
public string CategoryName { get; set; }
}
そして、次のような getProductsJ メソッドがあるとします。
public class Test
{
public List<Category> Categories = new List<Category>() { ... };
public List<Product> Products = new List<Product>() { ... };
public List<ProductJ> getProductsJ()
{
var products = from p in Products
join c in Categories on p.Category equals c.Id
select new ProductJ { Id = p.Id, , Name = p.Name, CategoryName = c.Name }; //!
return products.ToList();
}
}
Q2 : カテゴリ名を持つ製品のリストを取得するには、上記の方法が最適ですか?
Q3 : select ステートメント (//!) で、基本クラス Product linq のフィールドを 1 つずつ入力することなく、より速く入力する方法はありますか?
ありがとう。