好的,我有一个在创建 Linq to 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;
}
}
可以使用“p.Category.Description”在 Linq 查询中检索我添加的新字段(类别)。
所以我的问题是,这是填充 Product 类(包括新的 Category 属性)的最佳方式。
如果有一种方法可以通过使用 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 类中的每个属性并单独设置它们?