Tôi đã từng làm việc với thư viện lập bản đồ dữ liệu tùy chỉnh và tôi đang cố gắng chuyển sang giải pháp ORM phổ biến hơn.Giải pháp ORM .NET với lớp tự động tạo: Subsonic, Castle AR, ...?
Sau một số thử nghiệm, tôi hoàn thiện các yêu cầu của tôi như sau:
- thể tạo ra các lớp học sử dụng được từ giản đồ cơ sở dữ liệu (hỗ trợ SQL Server là đủ),
- hỗ trợ cho mô hình ActiveRecord,
- programmaticaly có thể định cấu hình (thông qua mã hoặc thuộc tính, không có tệp HBM),
- miễn phí.
Bạn có thể giới thiệu một câu hỏi không?
Cho đến nay tôi đã cố gắng:
cận âm 3,0
Người Tôi hiện giống như hầu hết, vì nó cảm thấy như một sự cân bằng tốt giữa tính năng và sự đơn giản.
Những gì tôi không thích:
- sử dụng IQueryable <> và tên số nhiều cho cả hai đầu của một-nhiều mối quan hệ - điều đó dường như khá phản trực giác đối với tôi;
- tạo một tệp cho tất cả các lớp - như một nghìn dòng trên mỗi lớp, tôi có cảm giác xấu về các tệp mã là lớn;
Xử lý T4 được gọi tự động, do đó, cơ sở dữ liệu với lược đồ cập nhật phải luôn sẵn có.
Castle ActiveRecord
CastleAR với ActiveWriter add-in là hầu hết những gì tôi cần, nhưng mã ActiveWriter là không hoàn hảo (có vẻ như, Nullable <> properties không được hỗ trợ, và mặc định one-to -many implementation không hoạt động) và tôi không thể tìm cách sửa mã này theo cách thủ công.
Darkside GeneratorStudio tạo ra các định nghĩa mã đúng hơn, một tệp cho mỗi thực thể - mặc dù nó sử dụng các tên bí ẩn như RefclassIdRefclass. Cá nhân tôi thích Studio addin hơn ứng dụng độc lập, nhưng điều này chắc chắn là một vấn đề nhỏ.
Có khoảng 20 tệp được phân phối trong bản phân phối CastleAR; mặc dù không phải là một vấn đề của chính nó, nó cảm thấy như thừa cân. Tôi sẽ không cần quá nhiều kiến thức bí truyền về NHibernate và các công cụ khác?
thành thạo NHibernate
rộng rãi đề nghị, nhưng tôi đã không thể tìm thấy một bộ tạo mã cho nó.
Tôi đã bỏ lỡ điều gì đó quan trọng?
VladV, vui lòng liên hệ với tôi qua e-mail qua trang web Capprime của tôi.Tôi có giải pháp chất lượng alpha không công khai có thể đáp ứng nhu cầu của bạn. –