Giả sử chúng ta sẽ bắt đầu dự án mới - ứng dụng có chứa một số logic nghiệp vụ, giao diện người dùng trên ASP.NET, WPF hoặc cả hai. Chúng tôi muốn sử dụng trình tạo mã ORM hoặc DAL và triển khai logic nghiệp vụ của chúng tôi trong các lớp .NET. Có một số cách cơ bản như thế nào chúng ta có thể thể hiện ý tưởng của chúng ta về lĩnh vực kinh doanh:Mã-Đầu tiên hoặc Cơ sở dữ liệu-Trước tiên, cách chọn?
- Thực hiện các lớp học kinh doanh trên NET và để cho ORM tạo giản đồ cơ sở dữ liệu thích hợp
- Tạo giản đồ cơ sở dữ liệu bằng tay và tạo ra các lớp .NET bởi bộ tạo mã
- Sử dụng một số loại thiết kế trực quan, có thể tạo ra các lớp học kinh doanh và cơ cấu sở dữ liệu hoặc kịch bản
gì làm bạn muốn viết: "Tạo Bảng Người (...)" hoặc "public class Person {.. .} "?
Ưu và khuyết điểm của những cách đó là gì?
Có thể có một số tình huống đặc biệt trong đó một cách tốt hơn cách khác?
Cách chọn cách tối ưu trong một dự án cụ thể?
Tôi khá quen thuộc với cách "Code-First" (hoặc "Model-First"), nhưng dường như hầu hết các ORM được thiết kế như trình tạo mã hoặc trình lập bản đồ, giả sử rằng tôi sẽ triển khai cả cấu trúc cơ sở dữ liệu và doanh nghiệp theo cách thủ công các lớp học.
Câu trả lời dựa trên thời gian hết hạn và các ví dụ về ORM đặc biệt được chào đón.
Chỉnh sửa: Lưu ý, câu hỏi không phải là "Tôi nên làm gì trước khi bắt đầu dự án mới?", Nhưng "Điều gì sẽ được tự động khai báo/tạo tự động, lớp miền hoặc cấu trúc cơ sở dữ liệu?"
Câu hỏi hay ho! +1 – Cerebrus
Gần câu hỏi trùng lặp http://stackoverflow.com/questions/274090/where-do-i-start-designing-when-using-or-mapping-objects-or-database-tables/274111#274111 – dkretz