Mam tabele bazy danych, które wyglądają tak:Entity Framework Relacja Issue na 0 ... 1 Stowarzyszenia
Task
mogą być odwzorowane na Module
, czy nie odwzorowanych na wszystko (0. ..1). Używam bazy danych Entity Framework - najpierw, a kiedy wygenerowałem model z bazy danych, jednostka Zadanie przeszła z Modułami jako kolekcja (0 lub więcej). Otworzyłem więc EDMX i zmieniłem właściwość nawigacji "Moduły" w Zadanie na 0 ... 1.
Teraz, gdy próbuję skompilować, otrzymuję ten błąd:
Error 3003: Problem in mapping fragments starting at line 1241:Given the cardinality of Association End Member Task, it should be mapped to key columns of the table TaskModule. Either fix the mapping or change the multiplicity of this end.
ja nie rozumiem, co muszę zrobić, aby rozwiązać ten problem. Przyjrzałem się szczegółom asocjacji i nie widzę problemu. Wiem, że prawdopodobnie brakuje mi czegoś głupiego, ale całkowicie utknąłem. Właściwości asocjacji:
Visual Studio 2010 SP1, Entity Framework 4.3.1.0, SQL Server 2008 R2.
nie ma sensu mieć tabeli TaskModule. ModuleName powinno być zerowym kluczem obcym w zadaniu –
@ Raphaël Althaus Wydaje mi się, że jest to filozoficzna odpowiedź (tj. Narusza trzecią NF, ale jest dyskusyjna, czy powinieneś, czy nie). Czy możesz wskazać mi materiał, który obsługuje twoje POV? Spójrz na http://stackoverflow.com/questions/1723808/nullable-foreign-key-bad-practice – Dean
To świetne pytanie, które łączysz, Dean. Sądzę, że jestem w mniejszości, może jestem w starej szkole, ale zerowe obce klucze naprawdę pocierają mnie w niewłaściwy sposób. Zmieniłem tabelę TaskModule zgodnie z sugestią i teraz wszystko działa dobrze. –