theo MSDN
Lần khác, bạn có thể muốn viết Đơn vị ứng dụng cụ thể của riêng bạn của giao diện làm việc hoặc lớp mà kết thúc tốt đẹp các đơn vị bên trong của công việc từ công cụ kiên trì của bạn. Bạn có thể làm điều này vì một số lý do. Bạn có thể muốn thêm nhật ký, truy tìm hoặc xử lý lỗi cụ thể cho ứng dụng để quản lý giao dịch. Có lẽ bạn muốn đóng gói các chi tiết cụ thể về công cụ kiên trì của bạn từ các phần còn lại của ứng dụng . Bạn có thể muốn gói thêm này để làm cho nó dễ dàng hơn để trao đổi các công nghệ kiên trì sau này. Hoặc bạn có thể muốn quảng bá khả năng thử nghiệm trong hệ thống của mình. Nhiều người trong số các đơn vị thực hiện Công việc được xây dựng sẵn từ các công cụ bền vững thông thường rất khó để xử lý với các tình huống thử nghiệm đơn vị tự động.
Quay lại câu hỏi của bạn.
Tôi có nên sử dụng DbContext và DbSet trực tiếp hoặc nên có Kho lưu trữ của riêng mình?
Thực tế, không có vấn đề gì khi bạn đặt DbContext
và DbSet
vào kho lưu trữ của mình. Chúng tôi sẽ tự hỏi chúng tôi muốn thử nghiệm dễ dàng hơn không. Nếu chúng tôi muốn thiết kế khung kiểm tra mọi thứ, chúng tôi không nên sử dụng trực tiếp DbContext
và DbSet
trực tiếp vào số Repositories
của bạn. Chúng ta nên sử dụng giao diện IDbContextFactory
được sử dụng để cung cấp DbContext
, chỉ hai xu của tôi.
Để giúp bạn có nhiều lượt xem về kho lưu trữ, bạn có thể tham khảo liên kết bên dưới để xem xét các tùy chọn giữa kho lưu trữ và DbContext
.
http://huyrua.wordpress.com/2010/07/13/entity-framework-4-poco-repository-and-specification-pattern/
Có bất kỳ vấn đề nếu chúng ta sử dụng DbContext
trực tiếp?
Không, không có vấn đề gì nếu bạn sử dụng trực tiếp DbContext
. Nhưng nó sẽ lộn xộn nhiều quy tắc kinh doanh và một tấn quy mô lên các vấn đề như tập trung cơ sở dữ liệu, khó kiểm tra và vi phạm riêng biệt của mối quan tâm trong nguyên tắc thiết kế.
Nếu tôi chuyển từ MS SQL sang Oracle trong tương lai thì sao?
Thực ra, không có vấn đề gì khi bạn chuyển đổi giữa MS SQL và Oracle trong tương lai. Bạn chỉ cần thay đổi nhà cung cấp dữ liệu theo liên kết bên dưới khi sử dụng DbContext
của khung pháp nhân.
http://www.devart.com/news/2008/directs475.html
hoặc MS Entity Framework Oracle Provider
Nguồn
2013-05-03 04:02:33