2010-09-05 7 views
9

Utworzono plik dbml w moim projekcie, a następnie przeciągnąłem dwie tabele z bazy danych do projektanta. Są to tabele dla linii nagłówka i wiersza zamówienia, a linie zamówienia mają obcy klucz do nagłówka zamówienia, aby był jednym z wielu relacji.Problem z generowaniem powiązania wewnątrz pliku dbml dla LINQ do SQL

Gdy tylko dwie tabele zostaną przeciągnięte na projektanta, pojawi się strzałka skojarzenia i wszystko wygląda poprawnie. We właściwościach powiązania właściwość Child jest ustawiona na True, Access jest publiczny, tryb dziedziczenia jest (none), Name is OrderLines (pierwotnie taOrderLines, ale edytowane przeze mnie nazywane OrderLines.)

Problem polega na tym, że nie elementami zamówienia nieruchomość jest tworzony. Sprawdziłem ręcznie w generowanym pliku cs także i ani elementami zamówienia słowo lub Stowarzyszenie tam znaleźć.

Co robię źle tutaj?

+0

Dwa razy miałem ten problem i jakoś nie mogłem znaleźć tego pytania, szukając rozwiązania (przynajmniej nie na początku). Sam tekst pytania jest w porządku, ale nazwa pytania jest dość szeroka, co utrudnia stwierdzenie, że jest to właściwe pytanie. W rezultacie znalazłem pytanie tylko wtedy, gdy próbowałem napisać własne (domyślam się, że wyszukiwanie oparte na tekście działa dobrze). Niezapisane pytanie, które napisałem, nosiło tytuł "Skojarzona tabela nie jest dostępna z modelu". – jahu

Odpowiedz

22

Upewnij się, każda klasa ma klucz podstawowy.


Jeśli obiekty nie mają właściwości klucza głównego w dbml, śledzenie obiektów LinqToSql nie może zobaczyć tych obiektów, a właściwości relacyjne nie zostaną wygenerowane.

+0

To był problem. Nie uważałem nawet, że baza danych, przeciwko której pracowałem, nie ma skonfigurowanych właściwych kluczy podstawowych. Tabela OrderLines nie ma klucza podstawowego. Po utworzeniu klucza podstawowego działało ono zgodnie z oczekiwaniami. –

Powiązane problemy