Nếu bạn mới tham gia EF và bắt đầu với EF4 câu trả lời dễ dàng là bỏ qua điều này - bạn gần như chắc chắn sẽ sử dụng Hiệp hội khóa nước ngoài thay vì Hiệp hội độc lập.
Hiệp hội khóa ngoại được hỗ trợ bởi một mối quan hệ khóa ngoại trong cơ sở dữ liệu và mối quan hệ này được mô tả rõ ràng trong mô hình khái niệm. Loại hình liên kết này là mới đối với EF4 và tôi hiểu đó là một sự nhượng bộ theo những vấn đề mà mọi người có với các Hiệp hội độc lập.
Nếu bạn muốn tách lược đồ lưu trữ và lược đồ khái niệm (là loại EF), bạn sẽ không muốn lược đồ khái niệm của bạn biết về những thứ như khóa ngoài vì đây là cơ sở dữ liệu) khái niệm. Các phiên bản trước của EF theo cách tiếp cận này và chúng tôi có cái gọi là Hiệp hội độc lập.
Hãy suy nghĩ về các hiệp hội độc lập như các hiệp hội được theo dõi bởi EF mà không có kiến thức về khóa ngoài cơ bản. EF vẫn hỗ trợ điều này nhưng họ có những điểm yếu đáng kể.
EF4 trong VS2010 sẽ sử dụng Khóa ngoại của bạn và tạo mối quan hệ Khóa ngoại trừ khi bạn nói cách khác. Trên toàn bộ công việc này như bạn mong đợi. Vẫn còn một số gotchas - ví dụ xung quanh việc xóa tầng.
Nếu bạn muốn tìm hiểu EF - Tôi có thể giới thiệu cuốn sách này:
http://learnentityframework.com/learnentityframework/
Mọi thứ bạn muốn biết, giải thích rất rõ ràng.
Nguồn
2011-01-16 02:17:08
Okeedoke. Nhưng những vấn đề cụ thể gây ra với n-tier và đồng thời là gì? – anon
Vâng sự khác biệt chính khác với sự khác biệt lược đồ là một thực thể với một hiệp hội độc lập không lộ chìa khóa nước ngoài trong lớp khái niệm. Hiệp hội được duy trì trong một đối tượng riêng biệt. Tùy thuộc vào cách bạn thiết kế ứng dụng của mình, việc phức tạp hơn để truyền thông tin bổ sung này giữa các lớp là phức tạp hơn. Các hiệp hội khóa nước ngoài dễ dàng hơn nhiều khi bạn chỉ có thể đặt khóa ngoại trực tiếp trên thực thể - hoặc sửa đổi bộ thực thể/tổ chức có liên quan được phơi sáng. –
"Ít dễ dàng để làm việc với" trong tâm trí của tôi không nhất thiết phải dịch để "tránh". Sau này cho thấy rằng có những cạm bẫy cụ thể. Có bài viết nào về những cạm bẫy này không? (Tôi có cuốn sách của Julia Lerman, BTW.) – anon