2017-05-12 17 views
5

Tôi thừa kế một ứng dụng nói chuyện với nhiều cơ sở dữ liệu khách hàng khác nhau.Khuôn khổ thực thể và lược đồ động

Hầu hết các bảng trong cơ sở dữ liệu khách hàng này đều có lược đồ giống nhau - nhưng có một số bảng có thêm cột tùy chỉnh chứa thông tin thuế (ya - ý tưởng tồi - Tôi biết ... Tôi không thiết lập).

Các cột bổ sung này có thể được đặt tên bất kỳ thứ gì. Chúng được biết đến trong thời gian chạy vì chúng có thể được tra cứu trong một bảng khác.

Tôi có thể thiết lập EF để nó đọc/ghi các bảng này (bỏ qua cột động) nhưng tôi thực sự cần thông tin này - vì đó là dữ liệu thuế.

Tôi nghĩ tuyến đường tốt nhất của tôi là có mô hình cố định với các thuộc tính bổ sung được thêm vào có thể được lấp đầy bởi các cột động này.

Làm cách nào để có thể nhận được Khung thực thể tự động đọc và viết các cột này mà không sử dụng câu lệnh SQL tùy chỉnh trên mọi cuộc gọi?

Tôi có thể đọc và viết thêm để đọc và viết riêng các cột phụ này (sử dụng sql tùy chỉnh) ... nhưng phải có cách nào đó để ghi đè EF để biết về các cột bổ sung này và có thể xử lý chúng một cách chính xác.

Mọi trợ giúp sẽ được đánh giá cao.

Trả lời

1

Trong bước đầu tiên, bạn có thể thẩm vấn _INFORMATION_SCHEMA_ hoặc các bảng siêu dữ liệu khác một cách trực tiếp, để biết bảng bạn muốn ngữ cảnh của mình được bật có các cột này hay không. Dựa trên thông tin đó, bạn có thể sử dụng một khác nhau DbContext (chung có thể sẽ hoạt động) nhưng tạo nó bằng cách sử dụng MappingConfiguration trong đó bạn bỏ qua các cột nếu chúng không có ở đó hoặc ánh xạ chúng vào lớp POCO mà ngữ cảnh của bạn mong muốn.

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