2010-01-09 30 views
6

Tôi vẫn đang cố gắng tìm ra kiến ​​trúc phù hợp cho một ứng dụng web ASP.NET MVC phức tạp.LINQ to SQL hoặc khung thực thể cho kiến ​​trúc ứng dụng ASP.NET MVC của doanh nghiệp?

Tôi đã xem rất nhiều mã mẫu và ở mọi nơi được thực hiện khác nhau.

Tôi thực sự đánh giá cao suy nghĩ của bạn về điều này.

Một câu hỏi khác: Bạn có sử dụng LINQ to SQL hoặc khung thực thể không?

Cảm ơn,

-Ben

Trả lời

3

Kiểm tra này Architecture Guide: ASP.NET MVC + N-tier + Entity Framework and Many More

Nếu bạn muốn sử dụng ASP.NET MVC nhưng strugling để có được những điều sắp xếp để tự tin sử dụng cho dự án kinh doanh tiếp theo của bạn. Điều này chỉ dành cho bạn. Bài viết hướng dẫn bạn sử dụng ASP.NET MVC cho kiến ​​trúc sư một Hệ thống quản lý tài liệu nhỏ.

0

Everywhere khác nhau, đó là lý do tại sao. Không có câu trả lời nào phù hợp với câu hỏi này. Nhìn vào các cách tiếp cận khác và lấy bất kỳ thứ gì bạn thấy hữu ích cho tình huống của bạn từ chúng.

2

Vì bạn đang sử dụng ứng dụng MVC, bạn có thể dễ dàng viết một lớp DataAccess bên dưới lớp Bộ điều khiển. Điều đó sẽ biến nó thành ứng dụng lớp. Vì vậy, đây có thể là lựa chọn thích hợp cho nhu cầu kiến ​​trúc của bạn.

Đối với câu hỏi LinQ-SQL hoặc Entity Framework, tôi đã chỉ sử dụng các khung Entity. Vì vậy, không chắc chắn về tùy chọn LINQ to Sql. Nhưng có một số vấn đề với khung Entity khi lược đồ thay đổi. Việc cập nhật của edmx được tạo ra không xảy ra đúng khi các cột được đổi tên vv Vì vậy, những gì tôi làm là xóa và tạo edmx sau mỗi thay đổi lược đồ và bạn phải tự cập nhật các thay đổi ở đó.

4

Một số suy nghĩ và kinh nghiệm cá nhân:
- sử dụng nhibernate as orm hoặc đợi EF v4. Tekpub.com có ​​hướng dẫn tốt về cách sử dụng NH. L2S và EF là loại hộp đen: họ đang làm rất nhiều thứ, họ có tài liệu tốt, nhưng họ không có điểm mở rộng. Nếu bạn muốn cắm một số chức năng mới hoặc thay đổi hành vi, bạn có thể làm điều đó chỉ với NH. EF trong v4 sẽ ở trạng thái NH 2 hoặc 3 năm trước.
- duyệt qua nhiều ví dụ về ứng dụng MVC như bạn có thể tìm thấy. Nhiều người trong số họ bạn có thể tìm thấy trên codeplex. Ví dụ: CodeCampServer, WhoCanHelpMe, Storeddd
- nếu bạn đang nghĩ đến việc xây dựng khung công tác (hoặc trợ giúp) để giải quyết một số vấn đề về cơ sở hạ tầng, thì google cho nó trước; đó là xác suất cao mà một người nào đó thông minh hơn bạn (tốt hơn, thông minh hơn tôi trong trường hợp của tôi) đã có cùng vấn đề và viết đoạn mã đẹp dưới dạng khung (đối tượng người lập bản đồ, xác thực, nhắn tin, ...) hoặc chỉ viết blog về nó.
- sử dụng kiến ​​trúc sắc nét hoặc fubuMvc giải quyết nhiều công việc cơ sở hạ tầng, nhưng phần còn lại của ứng dụng phụ thuộc vào mô hình kinh doanh của bạn.
- TDD sẽ buộc bạn viết mã tốt và có thể duy trì. Hãy thử sử dụng các mẫu thiết kế Gang of Four và các nguyên tắc RẮN nhiều nhất có thể.

1

Bạn có sử dụng LINQ to SQL hoặc Khung thực thể không?

Linq2SQL là tuyệt vời nếu bạn muốn truy cập mô hình đối tượng trực tiếp ánh xạ vào cơ sở dữ liệu của bạn. Ví dụ, nếu bạn có một bảng "Đơn đặt hàng", Linq2SQL sẽ tạo một đối tượng "đơn đặt hàng" mà bạn có thể sử dụng để truy cập dữ liệu. Điều này thường hoàn toàn thích hợp.

Khung thực thể hữu ích khi bạn muốn tạo mô hình đối tượng có thể không trực tiếp ánh xạ tới cơ sở dữ liệu.

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