2012-08-31 2 views
0

У меня есть TABLEA со следующими столбцамиEF 5,0 ForeignKey отношения

Id,
orgid,
идентификатор клиента,
......
etc.10 колонны

И у меня есть таблица B с нижними колонками tableAid, (является иностранным ключом из таблицы A) orgresponseA ........ 16 столбцов

В простой таблице B является расширением для таблицы A.

Я пытаюсь добавить отношения в TableBConfiguration, но я не вижу foregin Key property.

HasRequired(p => p.TableA); 
      .HasForeignKey????? 
      ToTable("dbo.TableB"); 

Как установить внешних ключ отношений с таблицей A и B. Таблицы

ответ

0

Вы можете добавить ключевое свойство чуждого вашего класса сущностей:

public class TableBClass 
{ 
    // ... 
    public int TableAId { get; set; } 
    public TableA TableA { get; set; } 
    // ... 
} 

И затем использовать отображение :

HasRequired(b => b.TableA).WithMany().HasForeignKey(b => b.TableAId); 

Если вы не хотите, чтобы FK недвижимость в вашем классе вы можете использовать вместо:

HasRequired(b => b.TableA).WithMany().Map(m => m.MapKey("TableAId")); 
+0

Спасибо Слаума это работает. Я использовал второе решение без ключа ID. Всякий раз, когда я вставляю данные в таблицу Б, вставляя двойные строки с дублированием таблицы А. У меня также есть ПК на TableB. Я что-то пропустил здесь. ?? – Ducati007

+0

@ Ducati007: Вероятно, это не проблема отображения. Нежелательное дублирование в Insert часто возникает, когда связанный объект не привязан к контексту. Я предлагаю вам создать новый вопрос и показать код, который вызывает дублирование. – Slauma

Смежные вопросы