显示/延迟加载
查询的时候不加载导航属性,需要用到的时候再加载导航属性。
注意:
- 若加载的导航属性是集合,则使用EnsureCollectionLoadedAsync。
- 若加载的导航属性是对象,则使用EnsurePropertyLoadedAsync。
- GetAsync和FindAsync区别:前者查不到数据抛异常,后者查不到数据不抛异常且返回null。
var blog = await _blogRepository.GetAsync(blogId, false);
//var blog = await _blogRepository.FindAsync(blogId, false) ;
if(blog == null)
{throw new EntityNotFoundException("blodId not exists");
}await _blogRepository.EnsureCollectionLoadedAsync(blog,x=>x.Posts);