2009-01-24 36 views
7

Tôi muốn sử dụng khung pháp nhân. Tuy nhiên, tôi cũng có yêu cầu cho phép người dùng xác định các trường tùy chỉnh trong hệ thống của chúng tôi. Tôi vẫn muốn sử dụng khung thực thể và không sử dụng một lớp một phần với thuộc tính bảng băm.Khuôn khổ thực thể: Thêm thuộc tính/đối tượng trong thời gian chạy

Dưới đây là giải pháp mà tôi đã nghĩ đến, tuy nhiên nó không đơn giản nên tôi muốn xem có cách nào tốt hơn không.

Ý tưởng của tôi hiện nay là có đối tượng ModelManager để tạo cột trên bảng thích hợp, sửa đổi tệp EDM và biên dịch tệp bằng cách sử dụng edmgen.exe. Tất cả điều này sẽ xảy ra trong một tiến trình và/hoặc miền ứng dụng khác với ứng dụng, vì ứng dụng sẽ tham chiếu đến assembly kết quả. Khi ứng dụng khởi động lại nó sẽ có quyền truy cập vào trường mới được thêm vào.

Đây có phải là cách duy nhất để thực hiện việc này với Khung thực thể không? Cảm ơn vì đã dành thời gian cho tôi.

Trả lời

1

Sau khi đọc một số bài viết blog của nhóm Khung thực thể và Julie Lerman, có vẻ như họ đang xem xét việc làm điều này dễ dàng hơn cho phiên bản tiếp theo. Có nghĩa là theo như tôi có thể nói, cách tôi đã nêu trong câu hỏi là cách tốt nhất để tự động thêm các trường vào khung thực thể.

+0

Bạn có thể thêm liên kết vào các mục này không? – Guillaume

0

Bạn sẽ kết thúc dành nhiều thời gian hơn để cố gắng làm cho giải pháp này hoạt động sau đó để hoàn thành toàn bộ dự án của bạn bằng cách sử dụng HashTables. Tôi không thực sự nghĩ rằng khuôn khổ tổ chức phù hợp với tình hình này bởi vì,

  1. mã của bạn sẽ không được lập trình để sử dụng các trường mới đã được tạo ra
  2. bạn sẽ phải đối phó với sự dỡ lắp ráp hiện nay từ các miền ứng dụng, và tải lại mới một
  3. bạn đang thực sự thiết lập tự của bạn lên cho thất bại

Xin lỗi nhưng đó chỉ là một số vấn đề mà không phải là dễ dàng áp dụng cho các khuôn khổ nhất định.

+0

Tôi đánh giá cao câu trả lời của bạn. Tôi biết điều này là khó khăn, nhưng tôi muốn gắn bó với việc sử dụng khung Entity. Các giải pháp tôi đã tuyên bố không hoạt động như tôi đã thử nghiệm nó. Tôi đã chỉnh sửa câu hỏi để phản ánh điều này. Tôi muốn tìm hiểu xem có cách nào khác để có chức năng này trong Entity Framework – CoderGuy

0

Tôi chỉ ném này ngoài kia ...

Bạn có thể sử dụng phương pháp mở rộng và/hoặc một lớp học phần để cho đối tượng chấp nhận một cuốn từ điển các cặp/giá trị quan trọng đối với dữ liệu lĩnh vực tùy chỉnh. Sau đó, sau khi lưu sự kiện, bạn có thể chèn/cập nhật dữ liệu đó bằng SQL thẳng.

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