【发布时间】:2011-06-26 08:50:59
【问题描述】:
DB 有一个表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.
更新
我已经编辑了这个问题并请求重新打开它,因为这种情况也发生在模型优先方法中,其中表映射是在 EDMX 文件中完成的,而不是在此处注意到的注释:
模型浏览器窗口在模型和存储实体类型中显示Package,实体的表映射显示每个属性正确映射到表列。这与注释代码优先样式完成的映射相同。
【问题讨论】:
-
我无法重现您的错误。我已经使用 Code First 方法尝试了您的代码,并且一切正常。你能在一个简单的控制台应用程序中重现你的问题吗?
-
你能显示这个表的数据库架构吗?
-
另外,请向我们展示您的 web.config 中的连接字符串...
标签: entity-framework ef-code-first