«EmployeeDBEntities» можно найти в файле конфигурации приложения в C# проекте библиотеки классов - PullRequest
0 голосов
/ 29 апреля 2020

Я пытаюсь получить список книг из базы данных в моем проекте библиотеки классов, есть служба windows, которая его использует. Я использую Entity Framework для запроса БД, но не смог получить список. Любая помощь будет оценена. Когда я добавил EF, он автоматически создал App.config внутри библиотеки классов, но похоже, что код не читает ни из него, ни из основного проекта службы. Не знаете, что здесь делать? вот моя ошибка и код:

Не удалось найти строку подключения с именем «EmployeeDBEntities» в файле конфигурации приложения.

   at System.Data.Entity.Internal.LazyInternalConnection.get_ConnectionHasModel()
   at System.Data.Entity.Internal.LazyInternalContext.InitializeContext()
   at System.Data.Entity.Internal.InternalContext.Initialize()
   at System.Data.Entity.Internal.InternalContext.GetEntitySetAndBaseTypeForType(Type entityType)
   at System.Data.Entity.Internal.Linq.InternalSet`1.Initialize()
   at System.Data.Entity.Internal.Linq.InternalSet`1.GetEnumerator()
   at System.Data.Entity.Infrastructure.DbQuery`1.System.Collections.Generic.IEnumerable<TResult>.GetEnumerator()
   at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
   at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
   at service.website2.API.TimeController.GetBooks() in ..classfile.cs:line 40
   at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.<>c__DisplayClass6_2.<GetExecutor>b__2(Object instance, Object[] methodParameters)
   at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.Execute(Object instance, Object[] arguments)
   at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ExecuteAsync(HttpControllerContext controllerContext, IDictionary`2 arguments, CancellationToken cancellationToken)

Моя библиотека классов App.config:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <connectionStrings>
    <add name="EmployeeDBEntities" connectionString="metadata=res://*/Model.EmployeeDBModel.csdl|res://*/Model.EmployeeDBModel.ssdl|res://*/Model.EmployeeDBModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=LAPTOP-MyDb;initial catalog=EmployeeDB;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
  </connectionStrings>
</configuration>

My Main service app.config:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <appSettings>
    <!--<add key="connection" value="Initial Catalog=EmployeeDB;data source=LAPTOP-Nilanjan;Integrated Security=True"/>-->
  </appSettings>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
    </startup>
</configuration>

Ничего особенного, только базовые c конфигурации, а вот вызов основного класса из библиотеки классов:

public IHttpActionResult GetBooks()
        {
            List<Book> booksList;
            using (EmployeeDBEntities entity = new EmployeeDBEntities())
            {
                booksList = entity.Books.ToList(); //this is where error occurs
            }
            return Ok(booksList);
        }

1 Ответ

0 голосов
/ 29 апреля 2020

Я понял, как решить. Пожалуйста, загрузите это решение с GitHub, и вы поймете, ответьте на вопрос, если таковой имеется.

https://github.com/nilubabai/SelfHostingService

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...