さて、Linq から SQL への接続を作成したときに生成されたクラスがあります。
基本的には次のようになります。
public partial class Product
{
public string Name { get; set; }
public string Description { get; set; }
}
次のように、別のプロパティを追加して拡張しました。
public partial class Product
{
public string Category { get; set; }
}
これで、製品の詳細を取得するための Linq クエリが次のようになります。
public List GetProducts()
{
using(MyDataContext dc = new MyDataContext())
{
var products = from p in dc.Products
select p;
}
}
追加した新しいフィールド (Category) は、「p.Category.Description」を使用して Linq クエリで取得できます。
私の質問は、新しい Category プロパティを含む Product クラスを設定する最良の方法です。
Linq クエリ "select p" のデータを使用して、Product クラスの生成された部分を自動的に設定する方法があればいいのにと思います。
また、製品 (P を選択) とカテゴリ (p.Category.Description を選択) を受け入れる部分クラスにコンストラクターを作成することも考えました。
このようなことをする:
// Linq query calling the constructor
var products = from p in dc.Products
select new Product(p, p.Category.Description)
// Product Constructor in my extended partial class
public Product(Product p, string CategoryDescription)
{
this = p; // there must be a way to do something like this
Category = CategoryDescription;
}
しかし、Product クラスのすべてのプロパティをリストし、それぞれを個別に設定することなく、これを行う方法はありますか??