我有3个不同的模型类:Product,ProductCategory和ProductSubcategory。他们都有类似规定适当的DbContext类:查找返回空对象
public class ProductCategoryDBContext : DbContext
{
public DbSet<ProductCategory> ProductCategories { get; set; }
}
现在我的产品控制器I类要访问这些其他表也一样,所以我必须有:
public class ProductsController : Controller
{
private ProductDBContext db = new ProductDBContext();
private ProductCategoryDBContext dbCat = new ProductCategoryDBContext();
private ProductSubcategoryDBContext dbSubcat = new ProductSubcategoryDBContext();
...
}
和
public ActionResult Details(int? id)
{
Product product = db.Products.Find(1);
ProductCategory Category = dbCat.ProductCategories.Find(1);
ProductSubcategory Subcat = dbSubcat.ProductSubcategories.Find(1);
....
}
(I have hardcoded the key values for clarity to make sure that they really are on database.
问题是第一次查找(产品)返回一个适当的值,但两个后者为空。那是因为我打电话给Products控制器吗,有没有我在这里错过的东西?
只需为每个正在访问的数据库创建一个DbContext。在该上下文中为每种类型创建一个DbSet。 – krillgar
辉煌!这就是我需要的。今天又学到了新东西TY :) – JussiJ