Entity framework 在将实体框架dll与linqpad一起使用时,生成的sql正在尝试创建表

Entity framework 在将实体框架dll与linqpad一起使用时,生成的sql正在尝试创建表,entity-framework,linqpad,Entity Framework,Linqpad,我试图用我自己的实体框架dll运行一个非常简单的((从地址中的x选择x)查询,我得到了这个异常 SqlException 数据库中已存在名为“Contact”的对象 当我转到sql生成的代码时,它正在执行以下操作: SELECT TABLE_SCHEMA SchemaName, TABLE_NAME Name FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE' GO SELECT [GroupBy1].[A1] AS

我试图用我自己的实体框架dll运行一个非常简单的((从地址中的x选择x)查询,我得到了这个异常

SqlException 数据库中已存在名为“Contact”的对象

当我转到sql生成的代码时,它正在执行以下操作:

SELECT TABLE_SCHEMA SchemaName, TABLE_NAME Name FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE'
GO

SELECT 
[GroupBy1].[A1] AS [C1]
FROM ( SELECT 
    COUNT(1) AS [A1]
    FROM [dbo].[__MigrationHistory] AS [Extent1]
)  AS [GroupBy1]
GO

SELECT 
[GroupBy1].[A1] AS [C1]
FROM ( SELECT 
    COUNT(1) AS [A1]
    FROM [dbo].[__MigrationHistory] AS [Extent1]
)  AS [GroupBy1]
GO

SELECT 
[GroupBy1].[A1] AS [C1]
FROM ( SELECT 
    COUNT(1) AS [A1]
    FROM [dbo].[__MigrationHistory] AS [Extent1]
)  AS [GroupBy1]
GO

SELECT 
[GroupBy1].[A1] AS [C1]
FROM ( SELECT 
    COUNT(1) AS [A1]
    FROM [dbo].[__MigrationHistory] AS [Extent1]
)  AS [GroupBy1]
GO

SELECT 
[GroupBy1].[A1] AS [C1]
FROM ( SELECT 
    COUNT(1) AS [A1]
    FROM [dbo].[__MigrationHistory] AS [Extent1]
)  AS [GroupBy1]
GO

SELECT 
[GroupBy1].[A1] AS [C1]
FROM ( SELECT 
    COUNT(1) AS [A1]
    FROM [dbo].[__MigrationHistory] AS [Extent1]
)  AS [GroupBy1]
GO

CREATE TABLE [dbo].[Contact] (
    [OwnerId] [uniqueidentifier] NOT NULL,
    [OwnerIdDsc] [int] NOT NULL,
    [ContactId] [uniqueidentifier] NOT NULL,
    [StateCode] [int] NOT NULL,
    [trad_lregionidName] [nvarchar](100),
    [et_lastbouncesendidName] [nvarchar](100),
    [TransactionCurrencyIdName] [nvarchar](100),
    [PreferredSystemUserIdName] [nvarchar](160),
    [trad_lbrandidName] [nvarchar](100),
    [CreatedOnBehalfByName] [nvarchar](160),
    [CreatedByYomiName] [nvarchar](160),
    [trad_lcampaignidName] [nvarchar](128),
    [trad_lcompanyreportingidName] [nvarchar](100),
    [trad_lrelationshipmgridName] [nvarchar](160),
    [MasterContactIdYomiName] [nvarchar](450),
    [PreferredEquipmentIdName] [nvarchar](160),
    [trad_laccount1accounttype1idName] [nvarchar](100),
    [PreferredSystemUserIdYomiName] [nvarchar](160),
    [MasterContactIdName] [nvarchar](160),
    [trad_lrelationshipmgridYomiName] [nvarchar](160),
    [OriginatingLeadIdYomiName] [nvarchar](450),
    [ModifiedByName] [nvarchar](160),
    [ModifiedOnBehalfByName] [nvarchar](160),
    [CreatedOnBehalfByYomiName] [nvarchar](160),
    [ModifiedOnBehalfByYomiName] [nvarchar](160), ... goes on


你知道为什么要创建一个表吗?

我遇到了一个类似的问题,这篇文章为我解决了这个问题:


基本上,迁移之间EF migration conf类的名称空间更改是一个问题:表u MigrationHistory保留了对旧名称空间的引用。

您能在
LinqPad
之外运行此代码而不出问题吗?例如,在测试C程序中?我不熟悉EntityFramework,但我猜u MigrationHistory包含数据库模式更改的详细信息,它一定认为您的数据库已过时,需要添加此表。这更可能是一个实体框架问题,而不是LinqPad问题,因此我将其标记为实体框架问题,希望有人能够帮助您解决此问题。当我使用此dll和c#程序进行查询时,它工作正常。我配置它的方式是使用默认构造函数和xml连接字符串值。正确的表实体出现在linqpad的对象资源管理器中。