无效的对象名称'dbo.EdmMetadata'和'dbo .__ MigrationHistory'

Mig*_*ura 29 entity-framework

我正在使用Entity Framework 5并执行一个简单的查询来从表中获取一些用户.

SQL数据库已经创建,因此我使用我的实体来映射我拥有的内容.

当我运行我的查询时,我检测到其他查询已执行,其中2个有错误:

查询1

错误:无效的对象名称'dbo .__ MigrationHistory'.

SELECT
[GroupBy1].[A1] AS [C1]
FROM ( 
    SELECT
        COUNT(1) AS [A1]
    FROM [dbo].[__MigrationHistory] AS [Extent1]
) AS [GroupBy1]
Run Code Online (Sandbox Code Playgroud)

查询2

错误:无效的对象名称'dbo.EdmMetadata'.

SELECT TOP (1)
   [Extent1].[Id] AS [Id],
   [Extent1].[ModelHash] AS [ModelHash]
FROM [dbo].[EdmMetadata] AS [Extent1]
ORDER BY [Extent1].[Id] DESC
Run Code Online (Sandbox Code Playgroud)

这是为什么?

由于数据库已经存在,我的数据库中没有dbo.EdmMetadatadbo.__MigrationHistory表.

怎么解决这个?

Mit*_*tul 54

由于数据库已经存在,您将不会拥有dbo.EdmMetadata以及dbo.__MigrationHistoryCodefirst期望的数据库.要解决此问题,您可以尝试将其设置SetInitializer为null.

 static NameOfYourContext()
 {
   Database.SetInitializer<NameOfYourContext>(null);        
 }      
Run Code Online (Sandbox Code Playgroud)

你可以在Scott Gu的这篇文章的评论部分看到这一点