我定义了以下简单的“教科书”类:
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的字段而不必一一输入?
谢谢。