Tôi đã lập trình được một thời gian và đã sử dụng LINQ-To-SQL và LINQ-To-Entities trước (mặc dù khi sử dụng các thực thể nó có mối quan hệ Entity/Table 1-1 - nghĩa là không khác nhiều so với L2SQL)Entity Framework 4/POCO - Bắt đầu từ đâu?
Tôi đã thực hiện rất nhiều đọc về Inversion of Control, Unit of Work, POCO và các mẫu kho lưu trữ và muốn sử dụng phương pháp này trong các ứng dụng mới của tôi.
Tôi đang gặp khó khăn trong việc tìm kiếm hướng dẫn cho người mới bắt đầu rõ ràng, ngắn gọn về EF4 mà không hiểu biết về EF1.
Các câu hỏi cụ thể mà tôi cần trả lời là:
Mã đầu tiên/mô hình đầu tiên? Ưu điểm/nhược điểm liên quan đến EF4 (tức là điều gì sẽ xảy ra nếu tôi thực hiện mã đầu tiên, thay đổi mã vào một ngày sau đó và cần phải tạo lại mô hình DB của tôi - Dữ liệu có được bảo quản và chuyển đổi hoặc bị loại bỏ không?)
Giả sử tôi ' m đi mã đầu tiên (tôi muốn xem cách EF4 chuyển đổi nó thành lược đồ DB) làm thế nào để tôi thực sự bắt đầu? Khá thường xuyên tôi đã nhìn thấy bài viết với sơ đồ thực thể nói "Vì vậy, đây là mô hình thực thể của tôi, bây giờ tôi sẽ ..." - Thật không may, tôi không rõ ràng nếu họ tạo ra các mô hình trong nhà thiết kế, lưu nó vào tạo mã sau đó dừng lại bất kỳ thế hệ mã tự động nào khác - hay - Chúng đã được mã hóa (POCO)? các lớp học và bằng cách nào đó đã nhập chúng vào khung nhìn deisgner?
Tôi cho rằng điều tôi thực sự cần là hiểu được "ma thuật" xuất phát từ đâu và cách tự thêm nó nếu tôi không chỉ tạo ra một mô hình EF trực tiếp từ DB.
Tôi biết câu hỏi có chút mơ hồ nhưng tôi không biết những gì tôi không biết - Vì vậy, bất kỳ đầu vào/chỉnh sửa/làm rõ nào được đánh giá cao.
Không cần phải nói, tôi không mong đợi bất cứ ai ngồi đây và dạy tôi EF - Tôi chỉ thích một số hướng dẫn/diễn đàn/blog/v.v. cho người mới hoàn thành thực thể
được thực sự REALLY cẩn thận với tuổi thọ của kết nối của bạn: http://bit.ly/fi83NV Đó là một cái gì đó bạn thực sự cần phải nhận thức khi trừu tượng bối cảnh vào kho. Nó có thể xuất hiện để làm việc nhưng thực sự từ từ clocking ngày càng nhiều kết nối mở – BritishDeveloper
@BRitishDeveloper - Lời khuyên rất tốt. Chúng tôi đã sử dụng một container IoC để lấy các kho lưu trữ và có một vấn đề trong đó bối cảnh được gán cho kho sẽ đóng kết nối sau một khoảng thời gian nhưng sẽ không bị gắn cờ như được xử lý/giống. Cuối cùng chúng ta mở rộng bối cảnh với một IsDisposed() đã kiểm tra với trạng thái xử lý thông thường và trạng thái kết nối cho phép chúng ta xây dựng một bối cảnh khác nếu được yêu cầu. – Basic
Một mẹo hữu ích nữa là khi nhận được ngữ cảnh mới, các đối tượng liên quan đến ngữ cảnh cũ sẽ không có theo dõi thay đổi phù hợp và sẽ gây ra các vấn đề về ngữ cảnh sai - Vì vậy nếu bạn có ứng dụng dài và thay đổi ngữ cảnh ở giữa -xuất hiện, bạn cần phải lấy lại tất cả các thực thể của bạn. Để làm cho nó thú vị hơn, chúng tôi đã thực sự phải có 2 chạy side-by-side ở lần và kết thúc bằng văn bản một số mã để bản đồ giữa 2 độc đáo ... – Basic