Khung thực thể - Thêm thuộc tính điều hướng theo cách thủ công


115

Tôi đã tạo Mô hình khung thực thể (4.0) từ cơ sở dữ liệu của mình. Tôi không thiết kế cơ sở dữ liệu và không có bất kỳ quyền kiểm soát nào đối với lược đồ, nhưng có một số bảng không có các ràng buộc khóa ngoại được xác định, nhưng có một mối quan hệ ngầm được xác định.

Ví dụ:

Tôi có một bảng được gọi là Mọi người có các cột sau: GenderID RaceID

Có các bảng cho cả Giới tính và Chủng tộc nhưng không có khóa ngoại trong bảng Mọi người.

Khi tôi nhập mô hình, nó không thêm Thuộc tính dẫn hướng cho các mối quan hệ này. Tôi đã cố gắng thêm nó theo cách thủ công nhưng Từ vai trò và Người đến vai trò bị tắt. Tôi không chắc làm thế nào để tự thêm mối quan hệ. Làm thế nào để tôi làm điều này?

Câu trả lời:


181

Yup - nó không đơn giản như vậy.

Đây là những gì bạn làm:

1 - Nhấp chuột phải vào trình thiết kế, Thêm -> Liên kết

2 - Thiết lập hiệp hội và các nhóm (Người * .. 1 Giới tính, Người * .. 1 Chủng tộc)

3 - Vào Trình duyệt mẫu -> Liên kết

4 - Nhấp chuột phải vào các liên kết mới tạo của bạn, nhấp vào Thuộc tính

5 - Ở đây bạn cần thiết lập các điểm cuối cho các tùy chọn khóa và tầng. Đảm bảo rằng bạn nhận được các điểm cuối chính xác. Bạn cũng có thể thiết lập một ràng buộc tham chiếu ở đây cho thuộc tính điều hướng ngầm của bạn.

6 - Ánh xạ thuộc tính điều hướng tới các bảng / trường có liên quan.

7 - Xác nhận mô hình của bạn, bắt chéo ngón tay của bạn.

Hi vọng điêu nay co ich.


20
+1 để lưu những gì còn lại trên tóc của tôi. Tôi sẽ thêm số 6 yêu cầu thay đổi cột khóa ngoại trong trang thuộc tính của hiệp hội, cài đặt Ràng buộc tham chiếu. Nhấn vào [...] để mở hộp thoại ràng buộc tham chiếu và thay đổi trường giả mà trình thiết kế đã cắm vào bảng con trong Thuộc tính phụ thuộc.
Joel Brown

8
Bạn cũng sẽ phải đi tới các thuộc tính của bảng con và xóa trường giả mà người thiết kế đã thêm (và không ánh xạ đến bất kỳ trường thực nào trong bảng con).
Joel Brown

2
Trong trường hợp Xem, cũng đảm bảo rằng bạn hiểu đúng định nghĩa Khóa chính của mình (nhấp chuột phải vào chọn các trường liên quan, đánh dấu chúng là EntityKey trong thuộc tính). Nếu không, bạn có thể nhận được 'Tính đa dạng không hợp lệ trong mối quan hệ Vai trò vì Vai trò phụ thuộc đề cập đến các thuộc tính chính ...'
Mikl X

1
Ở # 2, bạn có thể muốn bỏ chọn hộp kiểm "Thêm thuộc tính khóa ngoại vào Thực thể". Điều đó tạo ra một số đau đầu không cần thiết nếu bạn thực sự không cần nó.
Mã hóa

Sau khi bạn cập nhật lại mô hình của mình từ cơ sở dữ liệu, các thực thể được dàn dựng sẽ duy trì liên kết được thêm theo cách thủ công?
voodoo_patch

45

Tôi đã xem qua bài đăng blog này đề xuất giải pháp sau đây, giải pháp này rất hiệu quả đối với tôi (rất tiếc là tôi không thể làm cho RPM1984 hoạt động trong tình huống của tôi).

  1. Thêm một Hiệp hội thông qua nền thiết kế nhấp chuột phải vào menu ngữ cảnh
  2. Thiết lập Hiệp hội của bạn (nhớ bỏ chọn việc tạo khóa ngoại)
  3. Nhấp chuột phải vào liên kết và chọn Thuộc tính
  4. Nhấp vào ...nút Ràng buộc tham chiếu
  5. Thiết lập mối quan hệ giữa các khóa trong
  6. Xác minh (từ menu ngữ cảnh của nhà thiết kế)
  7. ???
  8. Lợi nhuận!

4
+1 Điểm 4 đã cho tôi làm đúng, bỏ qua điều đó với câu trả lời RPM194.
Hugo Logmans
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.