2010-02-17 19 views
8

Chcę dołączyć 2 tabele przy użyciu struktury encji. Chcę, aby sprzężenie do drugiej tabeli znajdowało się na kolumnie klucza podstawowego.Entity Framework - jak dołączyć tabele do innych niż kluczowe kolumn w tabelach pomocniczych?

np. Mam Foo tabeli z polami

Foo.Id (PK) 
Foo.DbValue 

i stół barowy

Bar.Id (PK) 
Bar.DbValue 
Bar.Description 

I chcę dołączyć do Foo Bar w EF na polu DbValue.

W stanie hibernacji/nhibernate można to zrobić, dodając parametr kolumny do wielu do jednego. mniej więcej tak:

<class name="Foo" table="Foo> 
    <id name="Id" column="Id" /> 
    <many-to-one name="Bar" class="Bar" column="**DbValue**" /> 
</class> 

Z góry dziękuję, jeśli ktoś wie, jak to zrobić w EF.

Odpowiedz

7

Cóż, nie można tego zrobić jako nazwanego związku (tj. W standardowy sposób).

Oznacza to, że związek NIE jest częścią modelu.

Jednak nadal można zrobić standardowy LINQ przyłączyć mimo:

from f in ctx.Foo 
join b in ctx.Bar on f.DbValue equals b.DbValue 
select new {f,b} 

Nadzieja to pomaga

Sprawdź My EF Tips series.

Powiązane problemy