У меня есть две сущности разрешение и доступЧто включают в себя() работа метода в Entity Framework
Access.cs
public class Access
{
public int Id { get; set; }
public string Name { get; set; }
public List<Permission> PermissionList { get; set; }
}
Permission.cs
public class Permission
{
public int Id { get; set; }
public string Name { get; set; }
public int ParentId { get; set; }
[NotMapped]
public bool HasChildren { get; set; }
[NotMapped]
public List<Permission> ChildPermissions { get; set; }
}
У меня также есть Класс GenericRepository для фильтрации записей в моей базе данных.
GenericRepository.cs
public virtual IEnumerable<TEntity> Get(
Expression<Func<TEntity, bool>> filter = null,
Func<IQueryable<TEntity>, IOrderedQueryable<TEntity>> orderBy = null,
string includeProperties = "", bool tracking = true)
{
IQueryable<TEntity> query = dbSet;
if (filter != null)
{
query = query.Where(filter);
}
foreach (var includeProperty in includeProperties.Split
(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries))
{
query = query.Include(includeProperty);
}
/*...*/
}
Я называю этот метод в моем классе Service Access
AccessService.cs
GenericRepository<Access> accessRepo = new GenericRepository<Access>();
List<Access> accessList = accessRepo.Get(d => d.Name == accessName, null, "PermissionList").OrderBy(d => d.Id).ToList();
Этот код фильтров типа записей из "Доступ" а затем использует метод Include() с параметром PermissionList в Generic Repository. Что включает в себя (метод PermissionList)? Что он делает? PermissionList является свойством Access и имеет тип элементов Permission. Но я не мог достичь цели.
И перед тем, как «не использовать репозитории с Entity Framework». – CodeCaster
Спасибо за ваше объяснение. – user2923864