EF 6.02 Модель генерации ошибок

Приведенные ниже сценарии SQL предназначены для 2 связанных таблиц. Когда я пытаюсь создать модель EF (EF 6.02), я получаю следующую ошибку:

Ошибка 13101: типы всех свойств в зависимой роли ссылочного ограничения должны совпадать с соответствующими типами свойств в основной роли. Тип свойства «from_party_id» объекта «Соглашения» не соответствует типу свойства «to_role_type_code» объекта «party_relationships» в ссылочном ограничении «AGREE_PR_FK».

Первая таблица

CREATE TABLE [dbo].[party_relationships](
    [to_party_id] [numeric](8, 0) NOT NULL,
    [to_role_type_code] [varchar](10) NOT NULL,
    [from_party_id] [numeric](8, 0) NOT NULL,
    [from_role_type_code] [varchar](10) NOT NULL,
    [from_date] [datetime] NOT NULL,
    [priority_code] [varchar](10) NOT NULL,
    [status_code] [varchar](10) NOT NULL,
    [thru_date] [datetime] NULL,
    [pr_comment] [varchar](240) NULL,

 CONSTRAINT [PR_PK] PRIMARY KEY CLUSTERED 
 (
   [to_party_id] ASC,
   [from_party_id] ASC,
   [to_role_type_code] ASC,
   [from_role_type_code] ASC,
   [from_date] ASC

 ) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON,  ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] 
 ) ON [PRIMARY] 

Вторая таблица

 CREATE TABLE [dbo].[agreements](

   [agreement_id] [numeric](8, 0) NOT NULL,
   [agreement_type_code] [varchar](10) NOT NULL,
   [to_party_id] [numeric](8, 0) NOT NULL,
   [from_party_id] [numeric](8, 0) NOT NULL,
   [pr_from_date] [datetime] NOT NULL,
   [from_role_type_code] [varchar](10) NOT NULL,
   [to_role_type_code] [varchar](10) NOT NULL,
   [agreement_date] [datetime] NOT NULL,
   [from_date] [datetime] NOT NULL,
   [thru_date] [datetime] NOT NULL,
   [description] [varchar](240) NOT NULL,

 CONSTRAINT [AGREE_PK] PRIMARY KEY CLUSTERED 
 (
  [agreement_id] ASC
) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON,  ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] 
 ) ON

[НАЧАЛЬНЫЙ]

Ограничение AGREE_PR_FK определяется следующим образом:

ALTER TABLE [dbo].[agreements]  WITH CHECK ADD  CONSTRAINT [AGREE_PR_FK] FOREIGN KEY([to_party_id], [from_party_id], [to_role_type_code], [from_role_type_code], [pr_from_date])
REFERENCES [dbo].[party_relationships] ([to_party_id], [from_party_id], [to_role_type_code], [from_role_type_code], [from_date])

Похоже, что EF пытается вывести связанные столбцы не по порядку. Или я что-то упускаю!

Я использую SQL Server 2012 и VS 2013 Ultimate в Windows 8.1.


person David Nyaoso    schedule 07.01.2014    source источник


Ответы (1)


Это было исправлено в инструментарии EF6.0.2, поэтому вам необходимо переустановить инструментарий. Вы можете получить версию, содержащую исправление, по здесь

person Pawel    schedule 09.01.2014