Pepe.The.Frog
Senior Member
@Pepe.The.Frog anh trả lời cái câu này của tôi đi
Tôi đồng ý với ý kiến của anh @superuser@ . Custom ORM là 1 cách. Ko biết làm cách nào thì anh post code cái cách a làm bằng repository pattern lên đây, tôi sẽ làm lại y chan mà chỉ cần dùng ORM. Vậy ok chưa?
Còn chuyện đảm bảo để developer ko gọi sai là thuộc về code review. Anh dùng Repository Pattern cũng ko tránh đươc.
Là sao bác, vậy vẫn phải viết Repository + ORM là đúng hay sai.
1. Repository + ORM là sai
2. Trường hợp Dapper thì nó ko phải là 1 ORM đầy đủ
Anh đang hiểu lầm Dapper là 1 ORM đầy đủ. Bản chất thằng Dapper ko phải là 1 ORM đúng nghĩa, nó chỉ là micro-ORM. Nó chỉ là extensions của Ado.Net thôi nên tôi xem đây là trường hợp ko sử dụng ORM.
Dapper ko có 1 abstraction đầy đủ của 1 ORM để có thể tự do custom loại database hay storage khác như ORM. Ví dụ viết draw SQL muốn đổi qua NoSQL thì ko có interface để custom.
Các anh thấy thằng ORM nó có hết những gì cái Repository mà các anh tự build chưa.
Cá nhân tôi vẫn KHÔNG lựa chọn sử dụng Repository Pattern khi xài Dapper vì cân nhắc mức độ phức tạp tào lao khi build thằng củ nồi này với lợi ích mang lại là ko đáng. Tôi chấp nhận xài trực tiếp SqlConnection của Ado. Rồi chổ nào cần lấy data từ nới khác thì tôi build Interface/Service riêng cho chổ đó thôi.
Last edited: