简体   繁体   English

'EmployeeDBEntities' 可以在 C# Class 库项目的应用程序配置文件中找到

[英]'EmployeeDBEntities' could be found in the application config file in C# Class Library project

I am trying to get a list of books from database in my class library project, there is a windows service which is using it.我正在尝试从我的 class 图书馆项目中的数据库中获取书籍列表,有一个 windows 服务正在使用它。 I am using entity framework to query the db, but not able to get the list.我正在使用实体框架来查询数据库,但无法获取列表。 Any help would be appreciated.任何帮助,将不胜感激。 when I added the EF, it has automatically created an App.config inside the class library but looks like the code is not reading from it, neither from the main service project.当我添加 EF 时,它自动在 class 库中创建了一个 App.config,但看起来代码没有从它读取,也没有从主服务项目读取。 No idea what to do here?不知道在这里做什么? here is my error and code:这是我的错误和代码:

No connection string named 'EmployeeDBEntities' could be found in the application config file.在应用程序配置文件中找不到名为“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)

My class library App.config:我的 class 库 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:我的主要服务 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>

Nothing fancy just basic configurations, and here is the main class call from class library:没有什么花哨的基本配置,这里是 class 库的主要 class 调用:

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

I have figured out how to solve.我已经想出了如何解决。 Please download this solution from GitHub and you'll understand, shoot me a question if any.请从 GitHub 下载此解决方案,您会明白的,如果有问题,请向我提问。

https://github.com/nilubabai/SelfHostingService https://github.com/nilubabai/SelfHostingService

I once ran into a similar issue here, if you're using n-Tier Design then make sure you have installed entity framework package on the startup project, copy the connection string into the web.config or app.config of the startup project.我曾经在这里遇到过类似的问题,如果您使用的是 n-Tier Design,请确保您已在启动项目中安装了实体框架 package,将连接字符串复制到启动项目的 web.config 或 app.config 中。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 无法使用 Class 库加载文件或程序集 C# 控制台应用程序 - Could not load file or assembly C# Console Application with Class Library 具有EF6的C#插件-在应用程序配置文件中找不到名为“实体”的连接字符串 - C# addin with EF6 - No connection string named 'Entities' could be found in the application config file 在测试项目应用程序配置文件中找不到connectionString - No connectionString could be found in the test project application config file C# - 类库项目 - 构建项目时无法更新 App.config 文件 - C# - Class Library Project - Unable to update App.config file while building the project sw#in c# - 在便携式类库中找不到HandleRef - swig in c# - HandleRef could not be found in portable class library 在应用程序配置文件中找不到名为“”的连接字符串 - No connectionstring named '' could be found in the application config file C#中的类库Web Config文件中的连接字符串 - Connection String in Class Library Web Config file in C# 无法在COM可见类库C#中加载文件或程序集 - Could not load file or assembly in COM visible class library C# 类库C#中的App配置 - App config in Class library C# Telerik OpenAccess:在文件“ config”中指定了类映射,但找不到该类 - Telerik OpenAccess : Mapping for class is specified in file 'config' but the class could not be found
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM