映射到嵌套类
我的应用程序运行时收到以下错误:
System.InvalidOperationException:未映射“ContactModels + Contact”类型。 使用Ignore方法或NotMappedAttribute数据批注检查未明确排除类型。 validation类型是否已定义为类,不是原始类,嵌套类还是通用类,并且不从EntityObjectinheritance。
当我的DBContext类尝试初始化实体时失败:
public class DB : DbContext { public DbSet Contacts { get; set; } .... }
Contact模型如下:
public class ContactModels { public class Contact { public int ID { get; set; } public string FirstName { get; set; } public string LastName { get; set; } ... } }
连接字符串:
我得到的错误是数据库是否存在,或者即使它不存在,我还要初始化它:
protected void Application_Start() { Database.SetInitializer(new CreateDatabaseIfNotExists()); .... }
这是我第一次使用EF,我已经学过了一些教程,但是我使用的是SQL Server 2008 R2,我更喜欢自己创建数据库,而不是让EF为我创建它。 虽然在这一点上我会采取任何一个,如果它的工作。
错误的部分是您正在尝试映射嵌套类。 entity framework不支持它。
我不知道您的代码有什么问题,但如果您想从数据库开始并生成C#代码,请使用entity framework电源工具CTP1 http://blogs.msdn.com/b/adonet/archive/2011/ 5月18日/ EF-动力工具CTP1,released.aspx