Отображение на вложенный класс - PullRequest
3 голосов
/ 28 сентября 2011

Я получаю следующую ошибку при запуске приложения:

System.InvalidOperationException: тип «ContactModels + Contact» не был сопоставлен.Убедитесь, что тип не был явно исключен с помощью метода Ignore или аннотации данных NotMappedAttribute.Убедитесь, что тип был определен как класс, не является примитивным, вложенным или универсальным и не наследуется от EntityObject.

Сбой, когда мой класс DBContext пытается инициализировать сущности:

public class DB : DbContext
{
    public DbSet<ContactModels.Contact> Contacts { get; set; }
    ....
}

Модель контакта выглядит следующим образом:

public class ContactModels
{
    public class Contact
    {
        public int ID { get; set; }
        public string FirstName { get; set; }
        public string LastName { 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>());
    ....
}

Я впервые использую EF, следовал нескольким учебникам, но использую SQL Server 2008 R2 и предпочел бы создать базу данных самостоятельно, а неEF создай это для меня.Хотя в этот момент я возьму любой, если это работает.

Ответы [ 2 ]

9 голосов
/ 28 сентября 2011

Неправильно то, что вы пытаетесь отобразить вложенный класс. Это не поддерживается структурой объекта.

0 голосов
/ 28 сентября 2011

Я не знаю, что не так с вашим кодом, но если вы хотите начать с базы данных и сгенерировать код C #, используйте мощные инструменты каркаса сущностей CTP1 http://blogs.msdn.com/b/adonet/archive/2011/05/18/ef-power-tools-ctp1-released.aspx

...