У меня есть 3 разных класса моделей: Product, ProductCategory и ProductSubcategory. Все они имеют собственные классы DbContext определены как:Поиск возвращает нулевые объекты
public class ProductCategoryDBContext : DbContext
{
public DbSet<ProductCategory> ProductCategories { get; set; }
}
Сейчас на моем классе контроллера продукта я хочу, чтобы получить доступ к этим другим таблицам тоже, так что у меня есть:
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.
Проблема в том, что первое Find (Products) возвращает правильное значение, но два последних значения равны нулю. Это потому, что я звоню из Контроллера продуктов и есть что-то, что я пропустил здесь?
Просто у вас есть один DbContext для каждой базы данных, к которой вы обращаетесь. Создайте DbSet для каждого типа, к которому вы обращаетесь в этом контексте. – krillgar
Блестящий! Это то, что мне нужно. Узнал что-то новое сегодня снова TY :) – JussiJ