Хорошо, у меня есть класс, сгенерированный при создании соединения 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;
}
}
Новое поле, которое я добавил (Категория), можно получить в запросе Linq с помощью «p.Category.Description».
Так что мой вопрос в том, каков наилучший способ заполнить класс Product, включая новое свойство Category.
Я бы предпочел, если бы был способ автоматически заполнить сгенерированную часть класса Product, используя данные в запросе Linq "select p".
Я также думал о создании конструктора в моем частичном классе, который принимает продукт (выберите 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 и устанавливать каждое из них по отдельности ??