vài ngày trước, tôi đọc hướng dẫn về các mẫu GenericRepository và Unit Of Work http://www.asp.net/mvc/tutorials/getting-started-with-ef-using-mvc/implementing-the-repository-and-unit-of-work-patterns-in-an-asp-net-mvc-application. Tôi sử dụng các biểu mẫu web và tôi đã cài đặt gói CTP4 EntityFramework. (Tôi không thể sử dụng EF 5).EntityFramework 4, DbSet và ObjectContext
Tôi muốn mã kho chung cho dự án của tôi, nhưng tôi đã bị mắc kẹt tại dòng này:
this.dbSet = context.Set<TEntity>();
Tôi biết rằng dòng này không làm việc vì một sử dụng ObjectContext trong dự án của tôi và cơ sở dữ liệu tiếp cận đầu tiên. Làm thế nào tôi có thể đối phó với nó? Tôi có thể mã chung kho lưu trữ mà không cần di chuyển đến mã đầu tiên (mà không phải là một lựa chọn trong trường hợp của tôi)?
Cảm ơn bạn đã trợ giúp. Bây giờ điều này tạo ra một ObjectSet thay vì một DbSet , nhưng đối với mẫu của bạn, bạn có thể sử dụng nó theo cách tương tự. Tôi gặp sự cố với phương pháp tìm kiếm trong dòng này: dbSet.Find (id); Làm thế nào tôi có thể mã này bằng cách sử dụng ObjectSet? –
mrrobot
vì vậy nếu Tìm theo Id trong ObjectSet là khó khăn như vậy tại sao bạn không sử dụng DbContext? Tôi tự hỏi phương pháp nào tôi nên sử dụng, hãy thử tạo phương thức tìm kiếm như bạn hoặc có lẽ tôi nên sử dụng DbContext? Tôi đã không viết nhiều mã cho đến nay trong dự án này, vì vậy có lẽ tốt hơn nên sử dụng DbContext? Bạn có thể đưa ra ý kiến của bạn về nó? Cảm ơn – mrrobot
Vào thời điểm tôi bắt đầu đăng ký, EF Code First chưa được phát hành. Dựa trên câu trả lời của Ropstah, có vẻ như có các khuôn mẫu bạn có thể sử dụng để tạo ra các lớp kiểu Code First cho các ứng dụng First Model hoặc Database First. Tôi chưa bao giờ thử phương pháp đó, vì vậy tôi thực sự không thể nói được liệu nó có hiệu quả hay không. – CodingGorilla