public interface IRepositoryBase<TEntity> where TEntity : Entity { IQueryable<TEntity> Find(Expression<Func<TEntity, bool>> predicate, Expression<Func<TEntity, TProperty>> navigationPropertyPath); }
代码如上图所示,在查找的时候,我想设计一个Expression<Func<TEntity, TProperty>> navigationPropertyPath导航属性作为参数传入,但是很明细,第一个
TEntity是没有问题的,但是第2个参数 TProperty 应该如何处理呢?
使用 EF Core 中的 IIncludableQueryable 接口,命名空间是 Microsoft.EntityFrameworkCore.Query
public interface IRepositoryBase<TEntity, TProperty> where TEntity : Entity
{
IIncludableQueryable<TEntity, TProperty> Find(
Expression<Func<TEntity, bool>> predicate,
Expression<Func<TEntity, TProperty>> navigationPropertyPath);
}