Lớp DBSet thể hiện một tập thực thể được sử dụng để thao tác create, read, update, and delete. Một phiên bản chung của DBSet (DbSet<TEntity>) có thể sử dụng khi kiểu của thực thể không được biết ở thời điểm xây dựng.

Bạn có thể  lấy tham chiếu của DBSet bằng cách sử dụng DBContext. VD: dbcontext.Students, dbcontext.Standards, hoặc bất kỳ tập thực thể khác. Lớp DbContext gồm DbSet như bên dưới:

dbset

Vài phương thức quan trọng của lớp DBSet được trình bày trong bảng sau:

 

Tên phương thức Kiểu trả về Mô tả
Add Added entity type Thêm thực thể đã cho vào context với trạng thái Added. Khi những thay đổi được lưu lại, những thực thể ở trạng thái Added được insert vào CSDL. Sau khi những thay đổi được lưu, trạng thái đối tượng đổi thành Unchanged.

VD: dbcontext.Students.Add(studentEntity)

AsNoTracking<Entity> DBQuery<Entity> Trả về một truy vấn mới mà ở đó các thực thể sẽ không được cached trong DBContext (Thừa kế từ DBQuery)

Những thực thể trả vềnhư AsNoTracking sẽ không được theo dõi bởi DBContext. Điều này sẽ làm tăng hiệu năng đáng kể cho những thực thể read only. 

VD: var studentList = dbcontext.Students.AsNoTracking<Student>().ToList<Student>();

Attach(Entity) Entity which was passed as parameter Đính kèm thực thể đã cho vào context ở trạng thái Unchanged.

VD: dbcontext.Students.Attach(studentEntity);

Create Entity Tạo một thể hiện mới của một thực thể cho kiểu của tập này. Thể hiện này không thêm hoặc đính kèm tới tập này được. Thể hiện trả về sẽ là một proxy nếu context bên dưới được cấu hình để tạo những proxy và kiểu thực thể đáp ứng được những yêu cầu tạo một proxy.

Example:
var newStudentEntity = dbcontext.Students.Create();

Find(int) Entity type Sử dụng giá trị khóa chính để thử tìm một thực thể được theo dõi bởi context. Nếu thực thể không ở trong context thì một truy vấn sẽ được thực thi và đánh giá theo dữ liệu trong data source và null được trả về nếu thực thể không được tìm thấy trong context hoặc trong data source. Lưu ý rằng Find cũng trả về những thực thể đã được thêm vào context nhưng chưa được lưu vào CSDL.

VD: Student studEntity = dbcontext.Students.Find(1);

Include DBQuery Returns the included non generic LINQ to Entities query against a DbContext. (Inherited from DbQuery)

Example:
var studentList = dbcontext.Students.Include(“StudentAddress”).ToList<Student>();
var studentList = dbcontext.Students.Include(s => s.StudentAddress).ToList<Student>();

Remove Removed entity Đánh dấu thực thể chỉ ra như là Deleted. Khi những thay đổi được lưu, thực thể sẽ bị xóa từ CSDL. Thực thể phải tồn tại trong context ở một số trạng thái khác trước khi phương thức này được gọi.

VD: dbcontext.Students.Remove(studentEntity);

SqlQuery DBSqlQuery Tạo ra một truy vấn raw SQL sẽ trả về những thực thể trong tập này. Mặc định những thực thể trả về được kiểm tra bởi context, điều này có thể thay đổi bằng cách gọi AsNoTracking trên DbSqlQuery<TEntity> trả về từ phương thức này.

VD : var studentEntity = dbcontext.Students.SqlQuery(“select * from student where studentid = 1”).FirstOrDefault<Student>();

Visit MSND for more information on DBSet class.

Nguồn: http://www.entityframeworktutorial.net/

Advertisements