我该如何编写此实体框架查询?

时间:2015-06-08 00:27:46

标签: c# entity-framework

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

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;
    }

1 个答案:

答案 0 :(得分: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;
}