로드 메서드
엔터티를 사용하여 즉시 아무 작업도 수행하지 않고 데이터베이스에서 컨텍스트로 엔터티를 로드하려는 경우가 몇 가지 있을 수 있습니다. 한 가지 좋은 예는 로컬 데이터에 설명된 대로 데이터 바인딩에 대한 엔터티를 로드하는 것입니다. 이 작업을 수행하는 일반적인 방법 중 하나는 LINQ 쿼리를 작성한 다음 ToList를 호출하여 만든 목록을 즉시 삭제하는 것입니다. Load 확장 메서드는 목록을 전혀 만들지 않는다는 점을 제외하고 ToList와 동일하게 작동합니다.
이 토픽에서 설명하는 방법은 Code First 및 EF 디자이너를 사용하여 만든 모델에 동일하게 적용됩니다.
다음은 Load를 사용하는 두 가지 예제입니다. 첫 번째는 로컬 데이터에 설명된 대로 로컬 컬렉션에 바인딩하기 전에 Load를 사용하여 엔터티를 쿼리하는 Windows Forms 데이터 바인딩 애플리케이션의 화면입니다.
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
_context = new ProductContext();
_context.Categories.Load();
categoryBindingSource.DataSource = _context.Categories.Local.ToBindingList();
}
두 번째 예제는 관련 엔터티 로드에 설명된 대로 Load를 사용하여 관련 엔터티의 필터링된 컬렉션을 로드하는 방법을 보여 줍니다.
using (var context = new BloggingContext())
{
var blog = context.Blogs.Find(1);
// Load the posts with the 'entity-framework' tag related to a given blog
context.Entry(blog)
.Collection(b => b.Posts)
.Query()
.Where(p => p.Tags.Contains("entity-framework"))
.Load();
}
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
.NET