thắc mắc Hỏi về Unit Of Work pattern?

gdragon_septung

Senior Member
Em đang tìm hiểu về Unit Of Work kết hợp với Repository Pattern trong .NET Core nhưng còn nhiều chỗ chưa hiểu, các bác giải thích giúp em với? Link dưới đây:

http://thaotrinh.info/unit-of-work-va-repository-pattern-song-kiem-hop-bich/

Theo em hiểu thì mô hình Unit Of Work sẽ làm cho tất cả các Repository sử dụng chung 1 DBContext.
1. Bên phía class UnitOfWork trong constructor có truyền vào NorthwindContext khi khởi tạo OrderRepository
Trong constructor OrderRepository có nhận vào NorthwindContext, nhưng NorthwindContext này ở constructor em ko thấy được sử dụng ở đâu trong class OrderRepository?
public OrderRepository(NorthwindContext context) : base(context)
{
}
Như vậy thì NorthwindContext truyền vào ở class UnitOfWork có ý nghĩa gì? Vì ở phía OrderRepository không thấy dùng đến?

2. Trong class UnitOfWork có 1 hàm Dispose, theo em hiểu là để giải phóng bộ nhớ? Có đúng ko? Vậy khi call Repository xong thì khi nào Dispose được gọi? Có cần phải gọi thủ công không? Hay chỉ cần kế thừa IDispose thì nó sẽ tự call?
public void Dispose()
{
_context.Dispose();
}
 
1. Nó mang base qua đây nè. Rồi nó mới lấy cái set ra xài
1651743527963.png

2. Tự chạy.
 
Lại nữa hả. Kỳ trc tôi chửi bên topic kia xong rồi giờ lại thấy cái này đúng là ngứa mắt thật.

dbContext đương nhiên là phải có sử dụng trong Repository rồi nếu ko có thì lấy gì access data.

Còn anh trên kia wrap nó vào DbSet<T> thì che mịa hết mấy cái feature của entity framework, coi như đi phát minh lại cái bánh xe. :sweat:

Ps: à nhìn kỹ lại thì vẫn còn để dbContext là protected nên vẫn ok.. :baffle:

via theNEXTvoz for iPhone
 
Last edited:
Back
Top