2011-09-06 20 views
12

Tôi đang sử dụng Khung thực thể .NET ADO để nhập mô hình của mình từ cơ sở dữ liệu. Bảng trong db của tôi có một loạt khóa ngoại, tất cả đều có tên trừu tượng, ví dụ: FKDevice132610.Tên có ý nghĩa cho thuộc tính điều hướng sử dụng Khung thực thể

Khi tôi nhập bảng vào mô hình của mình, nó mang đến các thuộc tính điều hướng cho từng khóa ngoại, tuy nhiên chúng được nhập với tên dựa trên tên bảng mà chúng liên kết tới. Nếu có nhiều hơn một khóa ngoại cho một bảng nào đó, một số được nối vào cuối.

Ef model

Trong trường hợp này Devices1 là ParentDevices và Devices2 là ChildDevices. Có cách nào tôi có thể nhập thông tin này vào khóa ngoài của tôi (nói sử dụng mô tả hoặc tên) để khung Entity sẽ nhập tên có ý nghĩa cho thuộc tính điều hướng của tôi không?

Trả lời

5

Như tôi biết hiện tại không có cách nào để làm điều đó. Đây là cách thiết kế hiện tại hoạt động. Điều gì thậm chí còn tồi tệ hơn khi bạn đổi tên các thuộc tính này để sửa tên cập nhật mô hình từ cơ sở dữ liệu đôi khi sẽ ghi đè lên các thay đổi của bạn.

Cải thiện đặt tên bất động sản chuyển hướng được theo dõi bởi hạng mục công trình này - http://entityframework.codeplex.com/workitem/125

+3

Đó là sự ngu ngốc ... ngu ngốc EF: ( – link664

+3

Trong trường hợp này nó không phải là thất bại của EF. Đó là thất bại của nhà thiết kế - bạn có thể sử dụng EF mà không cần thiết kế hoặc bằng cách sử dụng mã đầu tiên hoặc nếu bạn muốn nhận được tốt nhất từ ​​EF viết thủ công ánh xạ XML. –

0

Tự hỏi liệu tìm kiếm trên "modelBuilder.Conventions.Remove" có dẫn bạn đến giải pháp hay không. Tôi ước tôi có thể giúp đỡ nhiều hơn nhưng tôi mới bắt đầu khám phá EF. Ran vào một tình huống tương tự khi tôi có nhiều lĩnh vực đề cập đến cùng một ID ... và tôi không nhớ những gì xung quanh được.

+0

Trình tạo và thiết kế mô hình không có điểm chung. Hai tính năng này được sử dụng trong các kịch bản hoàn toàn khác nhau. –

0

Bốn năm sau ...
Cho đến khi đội EF giải quyết this issue, một workaround có thể có thể để phân tích các tập tin .edmx sử dụng một công cụ bên ngoài và thay thế tất cả các văn bản bắt đầu bằng <NavigationProperty Name= bằng các tên điều hướng có ý nghĩa hơn.
Là XML, cực kỳ dễ dàng để phân tích cú pháp và tìm các thuộc tính như tính đa dạng, tên FK, v.v.

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