Jeśli jesteś nowicjuszem w EF i zaczynasz od EF4, łatwą odpowiedzią jest zignorowanie tego - prawie na pewno będziesz używał zagranicznych związków kluczy zamiast niezależnych stowarzyszeń.
Zagadnienie klucza obcego jest obsługiwane przez relację klucza obcego w bazie danych, a relacja ta jest wyraźnie opisana w modelu koncepcyjnym. Ten rodzaj stowarzyszeń jest nowy dla EF4 i rozumiem, że jest to ustępstwo po problemach, które ludzie mieli z Independent Associations.
Bezwzględnie, jeśli chcesz oddzielić schemat przechowywania od schematu pojęciowego (który jest rodzajem punktu EF), nie chcesz, aby twój schemat pojęciowy wiedział o takich rzeczach jak klucze obce, ponieważ są to bazy danych (np.) koncepcja. Wcześniejsze wersje EF zastosowały to podejście i mamy to coś zwane Niezależnym Stowarzyszeniem.
Pomyśl o stowarzyszeniach niezależnych jako stowarzyszeniach śledzonych przez EF bez znajomości podstawowego klucza obcego. EF nadal to popiera, ale ma poważne słabości.
EF4 w VS2010 użyje Twoich kluczy obcych i utworzy relacje klucza obcego, chyba że powiesz inaczej. Na ogół te prace, jak można się spodziewać. Nadal istnieją pewne getchy - np. wokół kaskadowych usunięć.
Jeśli chcesz dowiedzieć EF - mogę polecić tę książkę:
http://learnentityframework.com/learnentityframework/
Wszystko, co chcesz wiedzieć, bardzo jasno wyjaśnione.
Okeedoke. Ale co konkretnie są problemy spowodowane n-warstw i współbieżności? – anon
Główną różnicą, poza różnicą w schemacie, jest to, że obiekt z niezależnym powiązaniem nie wystawia klucza obcego w warstwie koncepcyjnej. Związek jest utrzymywany w oddzielnym obiekcie. W zależności od tego, jak projektujesz aplikację, przekazywanie tej dodatkowej informacji między warstwami jest bardziej skomplikowane. Zagraniczne powiązania kluczy są o wiele łatwiejsze w obsłudze, ponieważ można ustawić klucz obcy bezpośrednio na jednostce - lub zmodyfikować odsłonięty zestaw powiązanych podmiotów/jednostek. –
"Mniej łatwa praca" w moim umyśle niekoniecznie oznacza "unikanie". To ostatnie sugeruje, że istnieją konkretne pułapki. Czy są jakieś artykuły na temat tych pułapek? (Mam książkę Julii Lerman, BTW.) – anon