实体框架引发无效的对象名称

本文关键字:对象 无效 框架 实体 | 更新日期: 2023-09-27 17:56:05

我在SQL Server中有一个数据库,里面有几个表。

我在VS2013中创建了一个类库项目。创建了一个 DBContext,将数据库添加为 ADO.NET 文件,并创建了一个用于运行查询的存储库。

我创建了一个带有用于创建 REST API 的控制器的 Web API2 空项目。

此控制器正在调用库存储库来运行查询,但它会引发异常:

Invalid object name 'dbo.TLog'

扩展问题是这个表存在于我的数据库中。存储库创建的查询是

SELECT [Extent1].[idLog] AS [idLog], 
[Extent1].[description] AS [description], 
[Extent1].[insertDate] AS [insertDate]
FROM [dbo].[TLog] AS [Extent1]

如果我在 SQL Server 中运行它,它可以工作,但在我的 Web 项目中它不起作用。

控制器如下所示:

[Route("api/log")]
public HttpResponseMessage Get()
{
    var logs = MyRepository.GetAllLogs();
    HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK, logs);
    return response;
}

存储库查询是

var query = from log in dataContext.Log select log;

我的连接字符串只存在于与数据库连接的库中,而不存在于 Web 项目的 web.config 中,并且是:

<connectionStrings>
     <add name="MyEntities" connectionString="metadata=res://*/MyModel.csdl|res://*/MyModel.ssdl|res://*/MyModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=BBBBBBBB;initial catalog=AAAAAAAA;user id=yyyyyy;password=xxxxxxxxx;persist security info=True;application name=EntityFramework;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" />
</connectionStrings>

实体框架引发无效的对象名称

将连接字符串添加到 web.config。 类库的 app.config 在运行时不使用。