我正在使用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.EdmMetadata
和dbo.__MigrationHistory
表.
怎么解决这个?
Mit*_*tul 54
由于数据库已经存在,您将不会拥有dbo.EdmMetadata
以及dbo.__MigrationHistory
Codefirst期望的数据库.要解决此问题,您可以尝试将其设置SetInitializer
为null.
static NameOfYourContext()
{
Database.SetInitializer<NameOfYourContext>(null);
}
Run Code Online (Sandbox Code Playgroud)
你可以在Scott Gu的这篇文章的评论部分看到这一点