0

複数のテーブル間の結合に基づくクエリを実行したい場合、Entity Framework 4.1 を使用してコード ファーストのアプローチでこれをどのようにコーディングしますか? たとえば、次のクエリを実行したいとします。

SELECT p.ProductId
 , p.Name AS ProductName
 , c.Name AS CategoryName
FROM
Products p
INNER JOIN Categories c
    ON c.CategoryId = p.CategoryId
4

1 に答える 1

1

次のようなクラスを作成します。

public class Product {
    public int ProductId { get; set; }
    public string Name { get; set; }
    public int CategoryId { get; set; }
    public virtual Category Category { get; set; }
}

public class Category {
    public int CategoryId { get; set; }
    public string Name { get; set; }
    public virtual ICollection<Product> Products { get; set; }
}

そして、このクエリを使用して、ナビゲーションプロパティから結合が自動的に作成されます。

var query = from p in context.Products
            select new {
                ProductId = p.ProductId,
                ProductName = p.Name,
                CategoryName = p.Category.Name
            };
于 2012-07-24T07:47:13.663 に答える