POCO trong Entity Framework là gì? [đóng cửa]


81

Tôi mới bắt đầu tìm hiểu POCO nhưng không thể hiểu được công dụng và ưu điểm của nó. Ngay cả sau liên kết của stackoverflow cũng không giúp được tôi.

Khung thực thể với POCO là gì

Ai có thể giải thích cách sử dụng POCO với một ví dụ đơn giản?


5
Tôi nghĩ rằng cách tốt nhất để bạn có thể hiểu nó đang trải qua một ví dụ: pratapreddypilaka.blogspot.com.au/2011/12/...
Jeremy Thompson

Tôi không chắc bạn đang mong đợi câu trả lời nào mà chưa có trong liên kết của bạn. Nếu bạn vẫn không hiểu sau khi đọc những điều đó thì có lẽ, như Jeremy gợi ý, bạn cần phải học bằng cách làm.
Ant P

Câu trả lời:


101

POCO (Đối tượng CLR thuần túy cũ) chỉ đơn giản là các thực thể trong Miền của bạn. Thông thường, khi chúng tôi sử dụng khung thực thể, các thực thể được tạo tự động cho bạn. Điều này thật tuyệt nhưng không may là các thực thể này được xen kẽ với chức năng truy cập cơ sở dữ liệu, điều này rõ ràng là chống lại SOC (Tách mối quan tâm). POCO là các thực thể đơn giản không có bất kỳ chức năng truy cập dữ liệu nào nhưng vẫn cung cấp khả năng cho tất cả các chức năng của EntityObject như

  • Tải chậm
  • Thay đổi theo dõi

Đây là một khởi đầu tốt cho việc này

Khung thực thể POCO

Bạn cũng có thể tạo POCO dễ dàng như vậy từ dự án khung Đối tượng hiện có của mình bằng cách sử dụng Trình tạo mã.

Trình tạo mã EF 5.X DbContext


2
Liên kết "POCO Entity framework MSDN Part-I" của bạn bị hỏng. Bây giờ có phải là nó không? msdn.microsoft.com/en-us/library/dd456853(v=vs.100).aspx
Aske B.

@AskeB. cảm ơn đã cập nhật liên kết. đó là một
Prabhu Murthy

Tôi luôn gọi POCO là "đối tượng C cũ đơn thuần", điều này có sai hay chỉ khác?
Halter

2
@Halter "Đối tượng C # đơn giản", hoặc (như Prabhu) đã nói "đối tượng CLR" vì khái niệm tương tự áp dụng cho VB và F #.
Nate Barbettini
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.