2016-12-20 4 views
0

Просто позвонив мой WCF, чтобы заполнить мою DataGridViewEntity Framework не могу найти строку подключения

private void button1_Click(object sender, EventArgs e) 
{ 
    ServiceReferenceReservations.ReservationsServiceClient srr = 
       new ServiceReferenceReservations.ReservationsServiceClient(); 
         gridData.DataSource = srr.getAllReservations(); 
} 

и это то, что делает mycf преобразование типа возвращаемого значения в businesslayer иметь право один

public List<clsReservation> getAllReservations() 
{ 
    List<clsReservation> oDataList = new List<clsReservation>().ToList(); 

    List<Reservation> mesReservations = BusinessLayer.Reservations.LoadAllReservationsEF(); 

    foreach (var item in mesReservations) 
    { 
     clsReservation cls = new clsReservation() 
       { 
        id = item.id, 
        lecteurID = item.lecteurID, 
        livreID=item.livreID 
       }; 
     oDataList.Add(cls); 
    } 

    return oDataList; 
}  

и бизнес-уровень будет вызывать уровень доступа к данным и возвращаться с данными

return DataAccessLayer.Reservations.LoadAllReservationEF(); 

Тогда мой слой доступа к данным с помощью Entity Framework

public static List<Reservation> LoadAllReservationEF() 
{ 
    List<Reservation> malisteReservation = new List<Reservation>(); 

    using (bibliothequeEntities dbcontext = new bibliothequeEntities()) 
    { 
     List<Reservation_SelectAll_Result> maliste = dbcontext.Reservation_SelectAll().ToList(); 

     var x = from p in maliste 
       select new Reservation 
         { 
          id = p.id, 
          lecteurID = p.lecteurID, 
          livreID = p.livreID, 
         }; 

     foreach (var item in x) 
     { 
      malisteReservation.Add(item); 
     } 
    } 

    return malisteReservation; 
} 

Моего уровня доступа к данным бросает ошибку в Model1.Context.cs:

Нет соединение строки с именем «bibliothequeEntities» может быть найдена в применение конфигурационного файла из DAL

<connectionStrings> 
    <add name="bibliothequeEntities" 
     connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=arpa;initial catalog=bibliotheque;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;" 
     providerName="System.Data.EntityClient" /> 
</connectionStrings> 

Но у меня есть, что ConnectionString в моей DAL, а также в проекте запуска вызова WC F. Я уже пытался прокомментировать метод «onModelCreating», чтобы избежать ошибки throw, но все еще не могу найти решение

Что мне не хватает?

+0

Пожалуйста, покажите конструктор (только заявление и любой 'base' вызов) для' bibliothequeEntities' – sellotape

+0

общественных bibliothequeEntities() : основание ("имя = bibliothequeEntities") { } защищены переопределения недействительным OnModelCreating (DbModelBuilder MODELBUILDER) { // певд UnintentionalCodeFirstException(); } – bob

+0

Является ли файл .config определенным файлом конфигурации _main application's_, а не тем, что собрано в 'bibliothequeEntities', если оно отличается? – sellotape

ответ

0

Если хостинг в IIS, вам нужно скопировать содержимое файла app.config в файл web.config виртуального каталога, в котором вы размещаете его в IIS. Я не считаю, что это делается автоматически для вас.

Если вы используете что-то еще для размещения, вам также необходимо найти папку, в которой выполняется хост, и скопировать содержимое в , что app/web.config.

Короче говоря, вы должны быть в строках .config хоста , а не какой-либо другой сборки.

Для получения более подробной информации см. here.

+0

это просто aself принимал, я didn'i настроить IIs или что-нибудь еще, это просто ФОС с WinForms как клиент – bob

+0

общественного виртуального ObjectResult Reservation_SelectAll() { return ((IObjectContextAdapter) this) .ObjectContext.ExecuteFunction ("Reservation_SelectAll"); } – bob

+0

Это метод, который генерирует ошибку, генерируемую с помощью entitframework. – bob

0

строка соединения должна быть в ФОС, что не все есть нет необходимости даже поставить его в dataccesslayer

Смежные вопросы