這有效,但我並不真正對第一個感興趣。查找幷包含在EF 6中
Customer foundCustomer = context.Set<Customer>().Include(e => e.Orders.Select (d => d.OrderLines)).FirstOrDefault();
這個工程,我找到了我工作的比賽。
string custKey = "VINET";
Customer foundCustomer = context.Set<Customer>().Include(e => e.Orders.Select(d => d.OrderLines)).Where(c => c.CustomerID.Equals(custKey, StringComparison.OrdinalIgnoreCase)).FirstOrDefault();
這可以正常工作,並根據需要讀取數據庫,但沒有包含我想要的數據。
Customer foundCustomer = context.Set<Customer>().Find(custKey);
這不工作....但我其實是後
Customer foundCustomer = context.Set<Customer>().Include(e => e.Orders.Select(d => d.OrderLines)).Find(custKey);
有什麼辦法來Include()
與Find()
結合?
這裏是上下文。典型的Northwind客戶/訂單/訂單詳細情況。
public partial class WindyContext : DbContext
{
static WindyContext()
{
//Database.SetInitializer<WindyContext>(null);
}
public WindyContext()
: base("Name=NorthwindContext")
{
}
public DbSet<Customer> Customers { get; set; }
public DbSet<OrderLine> DbSetOrderLines { get; set; }
public DbSet<Order> Orders { get; set; }
public DbSet<Product> Products { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Configurations.Add(new CustomerMap());
modelBuilder.Configurations.Add(new OrderLineMap());
modelBuilder.Configurations.Add(new OrderMap());
modelBuilder.Configurations.Add(new ProductMap());
}
}
您不妨使用'=',因爲數據庫歸類總是推翻比較。 –