Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 映射到嵌套类_C#_.net_Sql Server_Entity Framework 4.1_Nested Class - Fatal编程技术网

C# 映射到嵌套类

C# 映射到嵌套类,c#,.net,sql-server,entity-framework-4.1,nested-class,C#,.net,Sql Server,Entity Framework 4.1,Nested Class,我的应用程序运行时出现以下错误: System.InvalidOperationException:类型 “ContactModels+Contact”未映射。检查 类型未通过使用Ignore方法或 NotMappeAttribute数据批注。验证是否定义了该类型 作为一个类,它不是基元、嵌套或泛型,并且不继承 来自EntityObject DBContext类尝试初始化实体时失败: public class DB : DbContext { public DbSet<Contac

我的应用程序运行时出现以下错误:

System.InvalidOperationException:类型 “ContactModels+Contact”未映射。检查 类型未通过使用Ignore方法或 NotMappeAttribute数据批注。验证是否定义了该类型 作为一个类,它不是基元、嵌套或泛型,并且不继承 来自EntityObject

DBContext类尝试初始化实体时失败:

public class DB : DbContext
{
    public DbSet<ContactModels.Contact> Contacts { get; set; }
    ....
}
连接字符串:

<add name="DB" connectionString="Data Source=XXXXX;Initial Catalog=XXXX;Trusted_Connection=True"
  providerName="System.Data.SqlClient" />

无论数据库是否存在,或者即使它不存在,我都会收到错误,并且我正在初始化它:

protected void Application_Start()
{
    Database.SetInitializer(new CreateDatabaseIfNotExists<Models.DB>());
    ....
}
受保护的无效应用程序\u Start()
{
SetInitializer(新的CreateDatabaseIfNotExists());
....
}

这是我第一次使用EF,我已经学习了一些教程,但我使用的是SQL Server 2008 R2,我更喜欢自己创建数据库,而不是让EF为我创建数据库。尽管在这一点上,如果它有效,我会选择两者之一。

我不知道你的代码有什么问题,但是如果你想从数据库开始并生成C代码,使用实体框架power tools CTP1

错误的部分是你试图映射嵌套类。实体框架不支持它

这是100%的成功,非常感谢。很简单,现在我再看一遍。谢谢。在这种情况下什么是嵌套类?@SimonB.Robert:嵌套类是在另一个类中定义的类。这不是我想要的答案,而是我不知道的一个很好的工具,谢谢+1.
protected void Application_Start()
{
    Database.SetInitializer(new CreateDatabaseIfNotExists<Models.DB>());
    ....
}