Generated sql is trying to create a table when using entity framework dll with linqpad

StackOverflow https://stackoverflow.com/questions/20571027

  •  01-09-2022
  •  | 
  •  

سؤال

Im trying to run a very simple ((from x in Addresses select x).Take(10)) query with my own entity framework dll and I get this exception.

SqlException There is already an object named 'Contact' in the database

When I go to the sql generated code it is doing this:

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

...

Any ideas on why is this trying to create a table?

هل كانت مفيدة؟

المحلول

I ran into a similar issue and this post fixed the problem for me : http://jameschambers.com/2014/02/changing-the-namespace-with-entity-framework-6-0-code-first-databases/

basically, it's a problem of namespace change of your EF migration conf class between migrations : the table __MigrationHistory keeps a reference to your old namespace.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top