2008-12-03 23 views
7

Có ai biết nếu có thể không sử dụng tính năng điều hướng thuộc tính của khung pháp nhân cho các bảng được liên kết với khóa ngoại không? Ví dụ:* Không * sử dụng các thuộc tính điều hướng với Entity Framework?

ví dụ, nếu bảng khách hàng của tôi có một AddressId, tôi muốn AddressId đó trong mô hình của tôi, tôi không muốn nó có thuộc tính .Address. Nhưng tôi đã cho đến nay không thể tìm ra cách để làm điều này.

+0

cho những người gặp phải điều này thông qua tìm kiếm ... điều này đã được khá lâu trước đây. Các phiên bản mới hơn của khung thực thể không có vấn đề gì với điều này :-) –

+0

Bạn có chắc chắn không? Bởi vì tôi đã cố gắng làm như vậy: Tôi đã loại bỏ các thuộc tính điều hướng của mình và chỉ để lại các thay đổi vô hướng, nhưng khi tôi cập nhật mô hình, tất cả các thuộc tính điều hướng sẽ được khôi phục. –

Trả lời

6

Chắc chắn, bạn có thể thực hiện việc này. Nó chỉ là nhà thiết kế sẽ không giúp bạn rất nhiều. Xóa thuộc tính điều hướng và thêm thuộc tính vô hướng cho AddressId. Nó sẽ làm việc, nhưng bạn sẽ phải cẩn thận về việc nhấn Update Model trong trình thiết kế, vì nó có thể cố gắng "sửa" mọi thứ cho bạn. Đó là giá trị nhận được sử dụng để chỉnh sửa EDMX; nó không tệ.

+0

bất kỳ tài nguyên nào khác về chỉnh sửa edmx theo cách thủ công? –

+0

Cụ thể, bạn đang tìm kiếm điều gì? Tất cả tài liệu của Entity Framework ban đầu là về việc chỉnh sửa các tệp XML theo cách thủ công, bởi vì không có một nhà thiết kế tại thời điểm đó. Điều duy nhất đã thay đổi kể từ đó là ba tệp riêng biệt đã được cuộn thành một tệp EDMX. –

+0

Có ai biết bất kỳ giải pháp nào để loại bỏ/ẩn các thuộc tính điều hướng và ngăn chặn sự phục hồi của chúng với bản cập nhật mô hình hay thậm chí 3 năm sau, tôi cần sửa đổi mô hình theo cách thủ công? Tôi không ngại chỉnh sửa mô hình theo cách thủ công nhưng nó thực sự rất lớn ngay bây giờ, dễ dàng hơn và nhanh hơn để sử dụng designer =) –

0

Trong trình thiết kế, bạn có thể đặt thuộc tính điều hướng là có getters/setters riêng tư. Mặc dù chúng vẫn là ở đó, vì Khung thực thể (theo mặc định) tải không tải xuống, nó sẽ không thực sự truy xuất bất kỳ dữ liệu nào từ cơ sở dữ liệu khi chạy. Và họ sẽ không respawn lần sau khi bạn cập nhật mô hình từ cơ sở dữ liệu.

Các vấn đề liên quan