contract@chaoreumsoft.co.kr |    031-921-0523

DbSet in Entity Framework 6

페이지 정보

작성자최고관리자

본문

DbSet 클래스는 만들기, 읽기, 업데이트 및 삭제 작업에 사용 할 수 있는 엔터티 집합을 나타냅니다.

컨텍스트 클래스(DbContext에서 파생됨)는 데이터베이스 테이블 및 뷰에 매핑되는 엔터티에 대한 DbSet 유형 속성을 포함 해야 합니다.

0dc9464e270a7c53b10f992ce51c360e_1651216162_3587.png
 


DbSet 클래스의 중요한 메서드가 나열되어 있습니다.


Add : Added entity type
추가됨 상태의 컨텍스트에 지정된 엔터티를 추가합니다. 변경 사항이 저장되면 추가됨 상태의 엔터티가 데이터베이스에 삽입됩니다. 변경 사항이 저장되면 개체 상태가 변경되지 않음으로 변경됩니다.
Example:
dbcontext.Students.Add(studentEntity)

AsNoTracking<Entity> : DBQuery<Entity>
반환된 엔터티가 DbContext에 캐시되지 않는 새 쿼리를 반환합니다. (다음에서 상속됨 DbQuery.)
AsNoTracking으로 반환된 엔터티는 DBContext에서 추적하지 않습니다. 이것은 읽기 전용 엔터티에 대한 상당한 성능 향상이 될 것입니다.
Example:
var studentList = dbcontext.Students.AsNoTracking<Student>().ToList<Student>();

Attach(Entity) : Entity which was passed as parameter
Unchanged 상태의 컨텍스트에 지정된 엔터티를 연결합니다.
Example:
dbcontext.Students.Attach(studentEntity);

Create : Entity
이 집합의 유형에 대한 엔터티의 새 인스턴스를 만듭니다. 이 인스턴스는 세트에 추가되거나 첨부되지 않습니다. 기본 컨텍스트가 프록시를 생성하도록 구성되고 엔터티 유형이 프록시 생성 요구 사항을 충족하는 경우 반환된 인스턴스는 프록시가 됩니다.
Example:
var newStudentEntity = dbcontext.Students.Create();

Find(int) : Entity type
컨텍스트에서 추적하는 엔터티를 찾기 위해 기본 키 값을 사용합니다. 엔터티가 컨텍스트에 없으면 쿼리가 실행되고 데이터 소스의 데이터에 대해 평가되며 엔터티가 컨텍스트나 데이터 소스에서 발견되지 않으면 null이 반환됩니다. 찾기는 컨텍스트에 추가되었지만 아직 데이터베이스에 저장되지 않은 엔터티도 반환합니다.
Example:
Student studEntity = dbcontext.Students.Find(1);

Include : DBQuery
DbContext에 대해 포함된 비제네릭 LINQ to Entities 쿼리를 반환합니다. (다음에서 상속됨 DbQuery)
Example:
var studentList = dbcontext.Students.Include("StudentAddress").ToList<Student>();
var studentList = dbcontext.Students.Include(s => s.StudentAddress).ToList<Student>();

Remove : Removed entity
지정된 엔터티를 삭제됨으로 표시합니다. 변경 사항이 저장되면 엔터티가 데이터베이스에서 삭제됩니다. 엔터티는 이 메서드가 호출되기 전에 다른 상태의 컨텍스트에 존재해야 합니다.
Example:
dbcontext.Students.Remove(studentEntity);

SqlQuery : DBSqlQuery
이 집합의 엔터티를 반환할 원시 SQL 쿼리를 만듭니다. 기본적으로 반환된 엔터티는 컨텍스트에서 추적합니다. 이것은 이 메서드에서 반환된 DbSqlQuery<TEntity>에서 AsNoTracking을 호출하여 변경할 수 있습니다.
Example:
var studentEntity = dbcontext.Students.SqlQuery("select * from student where studentid = 1").FirstOrDefault<Student>();
 
Tag
Entity Framework Core 사용법, EF Core
© Chaoreumsoft Corp. All rights reserved.