Entity Framework 抛出无效的对象名称

Entity Framework throws Invalid object name

我在 SQL 服务器中有一个数据库,有几个 tables。

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

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

此控制器正在为查询调用库存储库 运行,但它抛出异常:

Invalid object name 'dbo.TLog'

奇怪的是这个 table 存在于我的数据库中。存储库创建的查询是

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

如果我 运行 它在 SQL 服务器中它工作,但在我的网络项目中它没有。

控制器看起来像这样:

[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;

我的连接字符串只存在于连接DB的Library中,不存在于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。 class 库的 app.config 未在运行时使用。