生成连接 EF5 中两个类的结果

本文关键字:两个 结果 连接 EF5 | 更新日期: 2023-09-27 17:56:10

在我的项目中,我有两个类ProductCategoryProduct

public class ProductCategory
{
    [Key]
    public int CategoryId { get; set; }
    [Required]
    public string CategoryName { get; set; }
    public ObservableCollection<Product> Products { get; set; }
}
public class Product{
    [Key]
    public int ProductId { get; set; }
    [Required]
    public string ProductName { get; set; }
    [Required]
    public int CategoryId { get; set; }
    public virtual ProductCategory ProductCategory { get; set; }
}

在我的 UI 中,有一个表单可以在类别下创建产品。该表单包括 2 个组合框。一个用于产品 ID,一个用于类别(值成员 - 类别 ID,显示成员 - 类别名称)。以及另一个用于产品名称的文本框。以及用于显示产品及其类别名称的列表视图。

我的问题是;我想检索包含这些字段的对象集合(要在 ListView 中显示)。

ProductID, ProductName, CategoryID, CategoryName

请告诉我这件事的正确方法。

谢谢。

生成连接 EF5 中两个类的结果

您可以使用带有Select投影

var objects = context.Products
    .Select(p => new
    {
        ProductId = p.ProductId,
        ProductName = p.ProductName,
        CategoryId = p.CategoryId,
        CategoryName = p.ProductCategory.CategoryName
    })
    .ToList();