Сопоставление Entity Framework с сервисным объектом - PullRequest
1 голос
/ 01 июня 2011

Я экспериментирую с EF (4.0) и немного застрял в следующей проблеме.

У меня есть таблица A, которая имеет 5 связей с таблицей B, поэтому давайте назовем их BLink1 tot BLink 5. Проблема в том, что PK в таблице B является составным ключом из 5 полей ... поэтому создание прямой связи между A и B приведет к 25 полям в таблице. То, что мы сделали, это представили новую таблицу A_B между A и B, которая обеспечит сопоставление составного ключа с одним значением. Таким образом, в A мы можем создать 5 отношений с A_B в этом новом поле. Это новое поле - PK таблицы A_B.

В EF (конструктор или необработанный XML) я хотел бы создать логическую модель с двумя сущностями; A и B, где A имеет 5 навигационных свойств для B. EF должен быть достаточно умен, чтобы пройти A_B, чтобы добраться от A до B или наоборот. Также при назначении 1 из 5 отношений на A, чтобы указать на конкретный B, EF должен быть достаточно умным, чтобы создать запись в таблице A_B, потому что новый суррогатный ключ для B - это просто конкат из этих 5 полей с подчеркиваниями или около их ...

A (0) -> (0..1) A_B (0..1) -> (1) B

ПК A_B = B_ID1 + "_" + B_ID2 + "_" + B_ID3 + "_" + B_ID4 + "_" + B_ID5

Надеюсь, это понятно ... Это возможно с EF?

С уважением, Дуайт

...