thành thạo NHibernate không như thế này, ném một lỗi:Tự động hóa NHIbernate của Danh sách <string>?
{"Association references unmapped class: System.String"}
OK tốt, tôi có thể thấy tại sao điều này sẽ gây ra một vấn đề - nhưng giải pháp tốt nhất là gì?
Tôi không thực sự muốn nó lưu trữ danh sách chuỗi giới hạn trong một trường đơn lẻ, điều này sẽ trở nên xấu nếu danh sách của tôi chứa nhiều chuỗi.
Tôi cũng không thực sự muốn một bảng 'chuỗi', vì lý do rõ ràng.
Tôi đoán tôi có thể giải quyết vấn đề này bằng cách đóng gói List<string>
bên trong một lớp học, nhưng điều này cảm thấy hơi nặng. Tôi bắt đầu nghĩ rằng nó là giải pháp tốt nhất mặc dù.
Cách tốt nhất để lấy Fluent NHibernate để xử lý vấn đề này là gì?
Tôi hoàn toàn mong đợi các giá trị này được lưu trữ trong một bảng khác. Tôi nghĩ có lẽ tôi đã có thể thiết lập một số quy ước tự động chỉ thị NHibernate 'Nếu bạn thấy class X
có chứa List<*some primitive type*>
, thì hãy tiếp tục và tự động tạo bảng tham chiếu ánh xạ tới bộ sưu tập này.
Bạn cảm thấy hơi nặng khi di chuyển và bọc mọi bộ sưu tập trong một lớp. Nếu đó là giải pháp tốt nhất tuy nhiên, sau đó được nó.
nếu bạn không muốn nó như một chuỗi được phân cách trong một trường duy nhất và bạn không muốn nó trong một bảng khác, thì * ở đâu *? đây vẫn là một cơ sở dữ liệu quan hệ ... –
Tôi không bị làm phiền bởi cách cơ sở dữ liệu quan hệ xử lý việc này. Tôi tự hỏi làm thế nào tôi có thể nhận được automapping để suy ra đây là những gì tôi muốn làm cho * tất cả các chuỗi * danh sách trong mô hình miền của tôi. – Alex
@ Alex - theo như tôi biết, không có cách nào để nói với NHibernate Fluent cách ánh xạ TẤT CẢ các danh sách các chuỗi. Giải pháp tôi cung cấp trong câu trả lời của tôi yêu cầu ghi đè cho mỗi danh sách các chuỗi trong mô hình miền của bạn. Nó chỉ là một vài dòng mã cho mỗi ghi đè, do đó, nó không phải là quá xấu ... –