私は次のようなモデルを持っています:
public class Customer
{
public int Id { get; set; }
public string Name { get; set; }
public ICollection<Order> Orders { get; set; }
}
public class Order
{
public int Id { get; set; }
public DateTime DateTime { get; set; }
public Customer Customer { get; set; }
public ICollection<OrderLine> OrderLines { get; set; }
}
public class OrderLine
{
public int Id { get; set; }
public Product Product { get; set; }
public int Price { get; set; }
public int Quantity { get; set; }
}
public class Product
{
public int Id { get; set; }
public string Name { get; set; }
public Category Category { get; set; }
}
public class Category
{
public int Id { get; set; }
public string Name { get; set; }
}
私はこのインフラストラクチャを使用しています。
私の総体的なルーツは、顧客、注文、製品です。マッピングは単純なので、ここには含めませんでした。
var customers = unitOfWork.Customers.FindAll();
var orders = unitOfWork.Orders.FindAll();
var products = unitOfWork.Products.FindAll();
var query = ......
LINQを使用して、「飲料」カテゴリの製品を注文したすべての顧客をどのように選択しますか?
私がWebで見たすべてのサンプルは、非常に基本的なクエリであり、高度なものではありません。