2013-03-24 84 views

Odpowiedz

77

Oba mapowania stworzy dokładnie tego samego schematu bazy danych z nie-pustych klucz obcy SomethingId i ograniczenie referencyjne między dwiema powiązanymi tabelami.

Pierwsze odwzorowanie z MapKey jest używane, gdy nie chcesz, aby klucz obcy był własnością w klasie modelu. Typ stowarzyszenia w tym przypadku nosi nazwę Niezależne stowarzyszenie. Zastosowałbyś drugie mapowanie z HasForeignKey, gdy klucz obcy jest właściwością w modelu. Ten typ nazywa się Foreign Key Association.

W wielu scenariuszach łatwiej jest pracować z obcymi kluczowymi stowarzyszeniami, ale wiele osób uważa za mniej czyste posiadanie artefaktu relacyjnego (obcego klucza) w świecie obiektów i dlatego woli niezależne stowarzyszenia.

Oto niektóre wzmianki o tych dwóch rodzajów związków i ich wady i zalety:

+0

„Wiele osób uważa, że ​​mapowanie obiektowo-relacyjne narzędzie ma za zadanie rozwiązać niedopasowanie impedancji obiektowo-relacyjnej, zamiast zmuszać lub nawet zachęcać do tego, aby model obiektu wyglądał tak, jakby był konkretnie opowiadał o tym, jak dane są przechowywane ". Tam naprawiłem to dla ciebie. –