Entity framework MapSingleType错误

Entity framework MapSingleType错误,entity-framework,asp.net-mvc-3,Entity Framework,Asp.net Mvc 3,我通过MVC3创建了一个项目,并首先对数据访问层使用EFCode 在我的数据库中有PackaginInfo表,在project中有carete Package类, 这是我的代码: public class Package { public decimal PackageID { get; set; } public decimal Title { get; set; } public decimal Cost { get; set; } public bool i

我通过MVC3创建了一个项目,并首先对数据访问层使用EFCode

在我的数据库中有PackaginInfo表,在project中有carete Package类, 这是我的代码:

public class Package
{
    public decimal PackageID { get; set; }
    public decimal Title { get; set; }
    public decimal Cost { get; set; }
    public bool isFree { get; set; }

}


public class ParandShopsEntities : DbContext
{       

    protected override void OnModelCreating(System.Data.Entity.ModelConfiguration.ModelBuilder modelBuilder)
    {
        modelBuilder.Entity<Package>().MapSingleType().ToTable("PackagingInfo"); 

    }

    public DbSet<Package> PackagingInfo { get; set; }
}
公共类包
{
公共十进制数据包ID{get;set;}
公共十进制标题{get;set;}
公共十进制成本{get;set;}
公共布尔值为free{get;set;}
}
公共类ParadShopSenties:DbContext
{       
模型创建时受保护的覆盖无效(System.Data.Entity.ModelConfiguration.ModelBuilder ModelBuilder)
{
modelBuilder.Entity().MapSingleType().ToTable(“PackageInfo”);
}
公共数据库集打包信息{get;set;}
}
调试项目时,出现以下错误: 错误System.Data.Entity.ModelConfiguration.EntityTypeConfiguration'不包含'MapSingleType'的定义,并且找不到接受'System.Data.Entity.ModelConfiguration.EntityTypeConfiguration'类型的第一个参数的扩展方法'MapSingleType'(是否缺少using指令或程序集引用?)E:\Projects\ein co\89-11-23\Parand\mvcapapplication1\Models\ParandShopsEntities.cs


请。在CTP5中帮助我,你现在只要打电话

modelBuilder.Entity<Package>().ToTable("PackagingInfo"); 
modelBuilder.Entity().ToTable(“PackageInfo”);

或者,您可以使用TableAttribute数据注释:

[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; }
} 

要检查的另一件事是您重建了所有t4模板。如果您更改了edmx文件中的导航属性,则应重新生成t4模板,否则可能会出现此错误。

谢谢您的回答,但当我尝试获取数据列表时,会出现此错误:对于当前上下文,实体类型包不是模型的一部分。我的方法是:public ActionResult Index(){ParandShopsEntities\u db=new ParandShopsEntities();var q=_db.packagininfo.ToList();return View()}您的DbContext的代码是什么?类包是否还有其他您没有告诉我们的内容,例如枚举(不受支持)?不,我的DBContext类public class ParandShopEntities中只有这段代码:DBContext{public DbSet packagingininfo{get;set;}public ParandShopEntities(){}模型创建时受保护的覆盖无效(System.Data.Entity.ModelConfiguration.ModelBuilder ModelBuilder){ModelBuilder.Entity().ToTable(“tbl_PackageInfo”);}}我收到以下错误:System.Data.SqlClient.SqlException:对象名“dbo.tbl_PackageInfo”无效。调试项目时,我的连接字符串是:我的问题已解决。我更改了“ParnadShopEntities”类{public ParandShopEntities():base(“数据源=192.168.0.100;初始目录=ParandShops;用户ID=sa;密码=123;MultipleActiveResultSets=True”)/(“ParandShopEntities”){…谢谢您的回答,但是当我尝试获取数据列表时,我得到了以下错误:实体类型包不是当前上下文的模型的一部分。我的方法是:public ActionResult Index(){ParandShopsEntities _db=new ParandShopsEntities();var q=_db.packagingininfo.ToList();return View();}首先,您的连接字符串是错误的,在开发代码优先应用程序时,连接字符串中不需要元数据信息。您的连接字符串应该如下所示:我的问题解决了很多。我更改了“ParnadShopEntities”类{public ParandShopEntities():base(“数据源=192.168.0.100;初始目录=ParandShops;用户ID=sa;密码=123;MultipleActiveResultSets=True”)/(“ParandShopEntities”){}…谢谢您,先生!您暗示了我的帮助:)