Tôi đang theo một hướng dẫn bởi Scott Gu đề cập đến một lớp có tên là DbContext. Tôi không thể tìm thấy nó trên bất kỳ không gian tên trên khuôn khổ 4 và có vẻ như với tôi nó đã được đổi tên từ CT4 DbContext thành .net4 System.Data.Linq.DataContext. Giả định của tôi có đúng không?DbContext có giống với DataContext không?
Trả lời
DbContext
là một lớp mới được thêm vào trong bản tải xuống riêng biệt gần đây của nhóm EF. Nó hiện không phải là một phần của lõi EF 4.0. Tuy nhiên, DbContext
sẽ tiếp tục là cách ưa thích để tương tác với EF.
Vậy nó khác với ObjectContext
như thế nào? Vâng ngữ nghĩa họ là chính xác giống nhau nhưng họ giảm rất nhiều tiếng ồn thêm rằng ObjectContext
đã có. Giống như phơi bày một bộ cần làm việc nhiều hơn, ví dụ:
public ObjectSet<Customer> Customers
{
get { return db.CreateObjectSet<Customer>(); }
}
Với DbContext
bạn có thể làm:
public DbSet<Customer> Customers { get; set; }
Về cơ bản trên ObjectContext
, khi bạn làm dấu chấm (.
), mọi thứ đều vừa phải có mà làm cho danh sách khá lớn. Những gì nhóm EF thực sự muốn vạch trần trên DbContext
là những thực thể chỉ dành riêng cho miền của bạn và phần còn lại của khả năng của khung được giấu trong các thuộc tính khác nhau. Nó chỉ làm cho kinh nghiệm lập trình dễ dàng hơn.
Điều này có nghĩa là nếu bạn đang sử dụng ObjectContext
ngay bây giờ, với một chút mã, bạn có thể dễ dàng di chuyển đến DbContext
.
Bất kỳ ý tưởng nào khi nó sẽ được hợp nhất vào chi nhánh khung chính? –
EF 4.1 đã được phát hành vào ngày 11 tháng 4 năm 2011. Xem http://blogs.msdn.com/b/adonet/archive/2011/04/11/ef-4-1-released.aspx để biết chi tiết. – villecoder
Điều này không liên kết với EF cho toàn bộ dự án của bạn, nói rằng bạn đã có một lớp kinh doanh? – Coops
Hơi muộn một chút, nhưng đối với các googlers. DbContext
được sử dụng cho EF
(EntityFramework) và DataContext
được sử dụng cho L2S
(LINQ to SQL).
- 1. ExecuteStoreQuery với Dbcontext
- 2. Nhiều lớp DataContext có phù hợp không?
- 3. DbContext không biên dịch?
- 4. Moling DataContext với MS Moles?
- 5. Silverlight có giống với jQuery không?
- 6. GMT có giống với UTC không?
- 7. Tại sao ràng buộc datacontext MainWindow trong XAML không hoạt động giống như ràng buộc trong codebehind với this.datacontext = this?
- 8. Sử dụng 'DbContext' thay vì 'ObjectContext' có tốt hơn không?
- 9. DbContext treo với PrimitiveType = null lỗi
- 10. Tại sao có nhiều lớp DbContext?
- 11. Truy cập DbContext từ IQueryable
- 12. Trường tĩnh của DbContext trong Global.asax so với trường mẫu của DbContext trong lớp điều khiển?
- 13. DbContext và RejectChanges
- 14. Có phải $ PROGRAM_NAME giống với $ 0 bằng ruby không?
- 15. IsBusy của BackgroundWorker có giống với "IsAlive" không?
- 16. Java - Mã nhị phân có giống với ByteCode không?
- 17. WPF: Đặt UserControl DataContext
- 18. Mẫu WPF và liên kết với DataContext trong GridView
- 19. Nhiều DbContext, nhiều Database.SetInitializer
- 20. DbContext xử lý?
- 21. phương pháp hạt giống không được gọi với EntityFramework CodeFirst
- 22. Set DataContext trong XAML
- 23. Chuyển đổi DBContext sang ObjectContext để sử dụng với GridView
- 24. Làm thế nào để Shim DbContext với Microsoft Fakes?
- 25. DbContext Hiệu suất truy vấn kém so với ObjectContext
- 26. Ràng buộc đối với tài sản của DataContext huynh WPF
- 27. Tại sao "www.example.com" không giống với "example.com"?
- 28. Thử nghiệm đơn vị với mã EF Đầu tiên DataContext
- 29. Không phải là 00.0 giống với 0.0?
- 30. Liên kết với cha mẹ DataContext trong DataTemplate
bạn đã tải xuống CTP chưa? Tôi tin rằng nó sử dụng một không gian tên như System.Data.Entities.CTP hoặc somesuch ... – AllenG
Tôi không có. Nhưng tôi đã tìm hiểu về ObjectContext. Vì đây là một hệ thống sản xuất, tôi không thể sử dụng CTP. –
NB Tôi biết rõ ràng nhưng 'System.Data.Linq.DataContext' là từ LINQ To Sql và' DbContext' là từ Entity Framework –