Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 基于相关实体筛选实体_C#_Asp.net_Entity Framework - Fatal编程技术网

C# 基于相关实体筛选实体

C# 基于相关实体筛选实体,c#,asp.net,entity-framework,C#,Asp.net,Entity Framework,我有一个事件实体: public class Event { public int Id { get; set; } public AppUser Creator { get; set; } public int CreatorId { get; set; } public string Name { get; set; } public string MainPhotoUrl { get; set; }

我有一个
事件
实体:

public class Event
    { 
        public int Id { get; set; }
        public AppUser Creator { get; set; }
        public int CreatorId { get; set; }
        public string Name { get; set; }
        public string MainPhotoUrl { get; set; }
        public DateTime Date { get; set; }
        public string Location { get; set; }
        public ICollection<UserEvents> Organisers { get; set; }
        public ICollection<EventPhoto> Photos { get; set; }  
    }
我只想检索用户是组织者之一的
事件
实体。这是我在存储库文件中创建的方法。注意,下面的代码是无效的,我知道这一点。我只想让你了解我正在努力实现的目标:

 public async Task<PagedList<EventDto>> GetPaginatedEventsAsync(EventParams eventParams)
 {
   var user = await _userRepository.GetUserByUsernameAsync(eventParams.username);
    
   var events = _context.Events
   .AsQueryable()
   .Where(organisers => organisers.Organiser.Id == user.Id)
   .ProjectTo<EventDto>(_mapper.ConfigurationProvider);
    
   return await PagedList<EventDto>.CreateAsync(events, eventParams.PageNumber, eventParams.PageSize);
    
 }
公共异步任务GetPaginatedEventsAsync(EventParams EventParams)
{
var user=await\u userRepository.GetUserByUsernameAsync(eventParams.username);
var events=\u context.events
.AsQueryable()
.Where(Organizers=>Organizers.Organizer.Id==user.Id)
.ProjectTo(_mapper.ConfigurationProvider);
返回wait PagedList.CreateAsync(events、eventParams.PageNumber、eventParams.PageSize);
}

如何根据相关的联接表实体筛选
事件
实体?

.Where(evt=>evt.organizers.Any(organizer=>organizer.Id==user.Id))
。您是明星!这起作用了
 public async Task<PagedList<EventDto>> GetPaginatedEventsAsync(EventParams eventParams)
 {
   var user = await _userRepository.GetUserByUsernameAsync(eventParams.username);
    
   var events = _context.Events
   .AsQueryable()
   .Where(organisers => organisers.Organiser.Id == user.Id)
   .ProjectTo<EventDto>(_mapper.ConfigurationProvider);
    
   return await PagedList<EventDto>.CreateAsync(events, eventParams.PageNumber, eventParams.PageSize);
    
 }