БД имеет таблицу PackagingInfo
.У меня есть класс Package
и ShopEntities : DbContext
.
// Entity (ex. Package.cs)
[Table("PackagingInfo")]
public class Package
{
public decimal PackageID { get; set; }
public decimal Title { get; set; }
public decimal Cost { get; set; }
public bool isFree { get; set; }
}
// Entity Context (ex. ShopEntities.cs)
public class ShopEntities : DbContext
{
public DbSet<Package> Packages { get; set; }
}
// Controller Action (ex. HomeController.cs)
public ActionResult Index()
{
ShopEntities _db = new ShopEntities();
var q = _db.Packages.ToList();
return View(q);
}
После создания экземпляра контекста _db
и проверки его свойства Packages
и замечено исключение:
The entity type Package is not part of the model for the current context.
Обновление
Я отредактировал этот вопрос и запросил его повторное открытие, потому что ситуация также возникает в подходе Model first, где сопоставление таблиц выполняется в файле EDMX вместо аннотации, замеченной здесь:
В окне «Обозреватель моделей» отображается Package
в боте типов сущностей Модель и Магазин, а в Таблице сопоставления сущности показано каждое свойство, правильно сопоставленное со столбцом таблицы.Это то же самое отображение, выполненное в стиле кода аннотации.