Исключение сопоставления каркаса сущностей - PullRequest
0 голосов
/ 11 ноября 2011

Я изучаю Entity Framework, поэтому я создал простую модель с двумя таблицами, добавил подходящие классы и пытаюсь написать простое репо, но приложение ломается в моем репо: (

MyEntityPOCO - это имя моего проекта консольного приложения:)

ссылка на визуализацию базы данных http://wstaw.org/w/LrL/

Это код моего репо



    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Data.Objects;

    namespace MyEntityPOCO
    {
         public class Entities : ObjectContext
         {
              private ObjectSet _contacts;
              private ObjectSet _addresses;

              public Entities()
                   : base("name=MyEntities", "MyEntities")
              {
                   _contacts = CreateObjectSet();
                   _addresses = CreateObjectSet();
              }

              public ObjectSet Contacts
              { get { return _contacts; } }


              public ObjectSet Addresses
              { get { return _addresses; } }

         }

    }




Это деталь об исключении.



    {"Mapping and metadata information could not
     be found for EntityType 'MyEntityPOCO.Contact'."}

Это контакт



    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Collections;

        namespace MyEntityPOCO
        {
             public class Contact
             {
                  public int ContactID { get; set; }
                  public string FirstName { get; set; }
                  public string LastName { get; set; }
                  public ICollection Addresses { get; set; }
             }
        }

Адрес



    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    namespace MyEntityPOCO
    {
         public class Address
         {

              public int AddressID { get; set; }
              public string Street { get; set; }
              public string City { get; set; }
         }
    }

Это мой App.Config



    
    
      

      
    

Это строка подключения из свойств модели



    metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string="data source=COMPAL\COMPALSERWER;initial catalog=MyBase1;integrated security=True;multipleactiveresultsets=True;App=EntityFramework"

это строка подключения из проводника сервера



    Data Source=COMPAL\COMPALSERWER;Initial Catalog=MyBase1;Integrated Security=True

и провайдер из проводника сервера

</p>

<pre><code>.NET Framework Data Provider for SQL Server

1 Ответ

0 голосов
/ 05 мая 2018

Адреса вашего контакта - это коллекция ...?Вы должны объявить, что это коллекция объектов Address для EF для правильного отображения.

public class Contact
{
    public int ContactID { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public ICollection<Address> Addresses { get; set; }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...