Công ty của tôi đang tìm cách sử dụng ORM cho phát triển mới trong .Net. Chúng tôi hiện đang tìm kiếm tại nHibernate, vì phổ biến của nó, tuy nhiên LLBLGen là một lựa chọn khác mà chúng tôi có thể xem xét. Chi phí không phải là yếu tố chính. Chúng tôi cần một giải pháp cung cấp tách biệt mô hình miền từ cơ sở dữ liệu, chiến lược lưu bộ nhớ đệm tốt, năng suất phát triển (tức là nếu tôi có thể chỉnh sửa nó trong GUI thay vì tệp cấu hình, tuyệt vời), hỗ trợ khách hàng tốt.Tôi nên sử dụng công cụ ORM nào để phát triển .Net
Tôi biết rằng nHibernate rất phổ biến, nhưng tôi cũng biết rằng giá (miễn phí) có thể là một phần lý do đó cho các loại nguồn mở. Vì chi phí không phải là yếu tố chính (trừ khi giá là> 10.000 đô la), bạn sẽ chọn điều kiện nào cho hoàn cảnh của chúng tôi? Ngoài ra, những yếu tố khác, những yếu tố nào khác mà tôi đã liệt kê, bạn sẽ xem xét quan trọng nhất trong việc chọn một ORM?
Nghị quyết
Cuối cùng chúng tôi quyết định NHibernate như một giải pháp, tuy nhiên trong nhận thức muộn màng, tôi nghĩ rằng tôi đã có thể đi với LL nếu chúng ta có nó để làm lại từ đầu. Tôi không tìm thấy tệp ánh xạ xml. Các máy phát điện mã mà tôi tìm thấy cho NHibernate còn lại rất nhiều để được mong muốn. Tôi thấy Fluent NHibernate là một sự phát triển thú vị, nhưng tôi thà chờ nó phát triển trước khi sử dụng nó.
Khi nó bật ra, phần quan trọng nhất trong quá trình học tập của tôi hóa ra không phải là công nghệ, mà là hai mẫu thiết kế: kho lưu trữ và các mẫu giao diện riêng biệt. Bằng cách định nghĩa một giao diện kho lưu trữ để truy cập dữ liệu (Jeffrey Palermo có một số bài đăng trên blog về điều này và cả sách Apress và Wrox MVC cũng hiển thị điều này), chúng ta có thể sử dụng LinqtoSQL, LLBLGen, NHibernate, vv và trao đổi sau đó nếu chúng ta chuyển đổi. Vì vậy, trong khi một trong những đồng nghiệp của tôi đang sử dụng NHibernate trên ứng dụng của mình, tôi đã chọn sử dụng LinqToSQL trên ứng dụng gần đây nhất của tôi và nó hoạt động tốt.
Ric - chúng tôi hiện đang sử dụng LLBLGEN. Chúng tôi đang cố gắng kết hợp nhiều bài kiểm tra đơn vị hơn vào ứng dụng mới của chúng tôi và gặp một số khó khăn khi thực hiện mà không cần nhấn vào cơ sở dữ liệu (chúng tôi sử dụng mô hình bộ điều hợp). Làm thế nào để bạn tiếp cận đơn vị kiểm tra LLBL? –
Hi @LuckyLindy Tôi đề nghị http://ayende.com/projects/rhino-mocks.aspx và tạo các đối tượng giả thay vì sử dụng cơ sở dữ liệu trực tiếp, tôi nghĩ rằng đây có thể là một câu hỏi SO đầy đủ gần như vì bạn có thể hỏi một cái gì đó xứng đáng câu trả lời hay hơn tôi :) –