Mam program używający Entity Framework (EF) Database Najpierw w warstwie dostępu do danych. Wiem, że aby EF do automatycznego wygenerowania właściwości nawigacyjnych wiele do wielu relacji, tabela mapowania musi zawierać tylko kompozytowy klucz podstawowy:Entity Framework wiele do wielu relacji z dodatkowym polem (najpierw baza danych)
Project
- ProjectId (PK)
- Name
ContentType
- ContentTypeId (PK)
- Name
ProjectContentTypeMapping
- ProjectId (PK)
- ContentTypeId (PK)
W tym przypadku wszystko działa poprawnie i mogę dostęp do projektów z ContentTypes i odwrotnie dzięki właściwościom nawigacji.
Mam jednak wymóg posiadania dodatkowych pól, które są specyficzne dla relacji między projektami i elementami ContentTypes, a to byłoby dodatkowe kolumny w tabeli ProjectContentTypeMapping. Po dodaniu ich tracę właściwości nawigacji, a EF pokazuje tabelę mapowania w projektancie.
Czy istnieje sposób ręcznego skonfigurowania mapowania między tymi dwoma tabelami w EF (baza danych)? Alternatywnie, jak mogę to przedstawić? Myślałam o konieczności może dodatkowo „metadane” stół z FK do tabeli odwzorowania, ale wygląda na „hacky” do mnie ...
Dzięki
Czy możesz podać więcej informacji na temat ręcznego manipulowania mapowaniem? – chuwik
zobacz mój anser @chuwik –
Czy nie jest możliwe, aby dodatkowe kolumny, ale powiedzieć Entity Framework traktować tabelę tak, jakby nie? Aby jakoś zaimportować tylko dwie kolumny zamiast całej tabeli z bazy danych? Potrzebuję dodatkowych kolumn w bazie danych z innych powodów (zasady dotyczące miejsca pracy, inne aplikacje korzystające z tej samej bazy danych), ale moja aplikacja nie musi ich nawet znać. –