【问题标题】:How should I write this Entity Framework query?我应该如何编写这个实体框架查询?
【发布时间】:2015-06-08 00:27:46
【问题描述】:

我有两个表,Product 和 ProductCategories。一个产品只能有一个类别类型。我需要查询数据库并找到给定 ProductID 的产品类别。 Product 表有一个名为 ProductCategoryID 的列,ProductCategories 的主键是 ProductCategoryID。这是我迄今为止尝试过的,但我得到了:

Models.Product does not contain a definition for "ProductID"

还有代码:

    public ProductCategory GetProductCategory(int id)
    {
        var products = db.ProductCategories
            .Where(c => c.Products.ProductID == id)
            .FirstOrDefault();

        return products;
    }

【问题讨论】:

  • 你能告诉我们课程Product吗?
  • 产品有:public int ProductID { get;放; } 这适用于其他一切我只是不知道如何编写此查询。

标签: c# entity-framework


【解决方案1】:

这通过寻找具有 ID 的产品的 ProductCategories:

public ProductCategory GetProductCategory(int id)
{
    var products = db.ProductCategories
        .Where(c => c.Products.Any(p=>p.ProductID == id))
        .FirstOrDefault();

    return products;
}

这是通过查找产品,然后返回它的 ProductCategory:

public ProductCategory GetProductCategory(int id)
{
    var product = db.Products
        .Include(p=>p.ProductCategory)
        .First(p=>p.ProductID==id);

    return product.ProductCategory;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-09
    • 1970-01-01
    • 2022-12-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多