我有兩個1:n關係的實體:類別和產品。用實體框架填充子實體SqlQuery
public class Category
{
public int CategoryID { get; set; }
public string CategoryName { get; set; }
public virtual ICollection<Product> Products { get; set; }
}
public class Product
{
public int ProductID { get; set; }
public string ProductName { get; set; }
public virtual Product { get; set; }
}
public class context : DbContext
{
public DbSet<Category> Categories { get; set; }
public DbSet<Product> Products { get; set; }
}
它有可能通過Eager加載來加載每個類別的產品。
context.Categories.Include(c=>c.Products).ToList()
如何在下面的查詢中加載產品,每個類別與Eager加載相同?
var q = @"
SELECT Categories.*
JOIN Products
ON Category.CategoryId = Products.CategoryId";
var c = context.Categories.SqlQuery(q).ToList();
它只是一個簡單的查詢。我需要使用SqlQuery來執行一些查詢。
對於Google以外的其他人,我想確保他們明白'dbContext.Database.SqlQuery()'與'dbContext.TableName.SqlQuery()'不一樣。不同之處在於你在'Database'上調用它,併爲它提供一個類型,而不是一個表,也沒有類型。讓我困惑一點。 –
TankorSmash