实体框架引发无效的对象名称
本文关键字:对象 无效 框架 实体 | 更新日期: 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="data source=BBBBBBBB;initial catalog=AAAAAAAA;user id=yyyyyy;password=xxxxxxxxx;persist security info=True;application name=EntityFramework;MultipleActiveResultSets=True"" providerName="System.Data.EntityClient" />
</connectionStrings>
将连接字符串添加到 web.config。 类库的 app.config 在运行时不使用。