System.invalidoperationException: источник «iqueryable» не реализует «iAsyncenumerableC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 System.invalidoperationException: источник «iqueryable» не реализует «iAsyncenumerable

Сообщение Anonymous »

Когда я хочу проверить свой метод, я получаю исключение: System.InvalidoPerationException: источник «iqueryable» не реализует 'iAsyncenumerable '. Только источники, которые реализуют «iaSyncenumerable», могут использоваться для асинхронных операций по сунтере .:
public async Task GetInactiveUsers(IUserRepository userRepository, IMeetingRepository meetingRepository, int daysThreshold)
{
var usersWithLastActivity = await userRepository.Queryable()
.Select(user => new
{
User = user,
LastMeetingDate = meetingRepository.Queryable()
.Where(meeting => meeting.UserMeetings.Any(userMeeting => userMeeting.UserId == user.Id))
.OrderByDescending(meeting => meeting.MeetingAt)
.Select(meeting => meeting.MeetingAt)
.FirstOrDefault()
})
.ToListAsync();

return usersWithLastActivity
.Where(userWithDate =>
{
if (userWithDate?.LastMeetingDate == null)
return false;

var daysSinceLastActivity = (DateTime.UtcNow.Date - userWithDate.LastMeetingDate.Date).Days;

return daysSinceLastActivity == daysThreshold;
});
}
< /code>
Мой тестовый класс: < /p>
public async Task GetInactiveUsers_ReturnsCorrectUsers()
{
// Arrange
var users = new List
{
new() { Id = 1, UserName = "User1" },
new() { Id = 2, UserName = "User2" },
new() { Id = 3, UserName = "User3" }
};

var meetings = new List
{
new() { Id = 1, MeetingAt = DateTime.UtcNow.AddDays(-7), UserMeetings = new List { new() { UserId = 1 } } },
new() { Id = 2, MeetingAt = DateTime.UtcNow.AddDays(-10), UserMeetings = new List { new() { UserId = 2 } } },
new() { Id = 3, MeetingAt = DateTime.UtcNow.AddDays(-3), UserMeetings = new List { new() { UserId = 3 } } }
};

var mockUserRepository = new Mock();
mockUserRepository.Setup(repo => repo.Queryable()).Returns(users.AsQueryable());

var mockMeetingRepository = new Mock();
mockMeetingRepository.Setup(repo => repo.Queryable()).Returns(meetings.AsQueryable());

var service = new NotificationOfInactiveUsersHostedService(
new Mock().Object,
new Mock().Object
);

// Act
var result = await service.GetInactiveUsers(mockUserRepository.Object, mockMeetingRepository.Object, 7);

// Assert
Assert.Single(result);
Assert.Equal(7, (DateTime.UtcNow.Date - meetings.First(m => m.UserMeetings.Any(um => um.UserId == result.First().Id)).MeetingAt.Date).Days);
}
< /code>
Я вижу много примеров, чтобы решить это исключение. Я пробовал много способов, которые я ее нахожу, но ничего не помогил.

Подробнее здесь: https://stackoverflow.com/questions/794 ... plement-ia
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • System.invalidoperationException: источник «iqueryable» не реализует «iAsyncenumerable
    Anonymous » » в форуме C#
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • System.invalidoperationException: источник «iqueryable» не реализует «iAsyncenumerable
    Anonymous » » в форуме C#
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Итерация IAsyncenumerable в функции, возвращающей IAsyncenumerable с отменой
    Anonymous » » в форуме C#
    0 Ответы
    26 Просмотры
    Последнее сообщение Anonymous
  • Iqueryable.where.tolist vs iqueryable.tolist.where, какой запрос лучше с точки зрения производительности?
    Anonymous » » в форуме C#
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous
  • Iqueryable.where.tolist vs iqueryable.tolist.where, какой запрос лучше с точки зрения производительности?
    Anonymous » » в форуме C#
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»