【发布时间】:2018-01-18 14:00:05
【问题描述】:
我有包含的 Repository 类。下面的代码适用于一对一的关系。但是对于收藏我需要将DbContext.Entry(model.Result).Reference(include).Load(); 更改为DbContext.Entry(model.Result).Collection(include).Load();
public virtual async Task<TEntity> GetByIdAsync(object[] keyValues,
List<Expression<Func<TEntity, object>>> includes,
CancellationToken cancellationToken = default(CancellationToken))
{
var model = DbSet.FindAsync(keyValues, cancellationToken);
if (includes == null) return await model;
foreach (var include in includes)
//if (include.Body.Type.IsAssignableFrom(typeof(ICollection<>)))
DbContext.Entry(model.Result).Reference(include).Load();
return await model;
//return await DbSet.FindAsync(keyValues, cancellationToken);
}
我可以在这里使用什么样的条件来将引用和集合彼此分开?
谢谢。
编辑: 示例对象是
System.Collections.Generic.IList`1[[WestCore.Domain.Entities.WestLife.MhpProduct]]
一般来说,集合可以是ICollection 或IList。
【问题讨论】:
标签: c# entity-framework .net-core entity-framework-core