Не удается неявно преобразовать тип 'System.Collections.Generic.IEnumerable'to' System.DateTime ' - PullRequest
1 голос
/ 24 мая 2019

Я хочу выбрать данные формата даты и времени из базы данных.

У меня есть 3 модели.

School

        public int Id { get; set; }

        public ICollection<SchoolStore> SchoolStores { get; set; }
SchoolStores

        public int SchoolId { get; set; }

        public School School { get; set; }

        public ICollection<Event> Events { get; set; }
Events

        public DateTime Date { get; set; }

        public EventStatus Status { get; set; }

Метод выглядит как


 public IQueryable<SchoolProjectionModel> GetAllForList()
        {
            return dataContext.Schools.AsNoTracking().IgnoreQueryFilters()
                .Select(s => new SchoolListProjectionModel()
                {                 
                  publishedEventDate = s.SchoolStores.Select(ss => ss.Events
                                                      .Where(ee => ee.Status == EventStatus.Published && ee.SchoolId == s.Id)
                                                       .Select(ed => ed.Date)
                                                        .Where(ses => ses.Date >= DateTime.Today))

                });
        }

Но я получаю такую ​​ошибку

Cannot implicitly convert type 'System.Collections.Generic.IEnumerable<System.DateTime>' 
to 'System.DateTime'

Я ожидаю получить данные формата даты и времени из базы данных.

SchoolListProjectionModel

using System.Collections.Generic;
using System;
    public class SchoolListProjectionModel
    {

        public DateTime publishedEventDate { get; set; }

    }

Ответы [ 2 ]

0 голосов
/ 24 мая 2019

Ответ

                publishedEventDate = s.SchoolStores.SelectMany(ss => ss.Events
                                                        .Where(e => e.Status == EventStatus.Published && e.SchoolId == s.Id)
                                                                .Select(ed => ed.Date)
                                                                        .Where(eed => eed.Date >= DateTime.Today && eed.Date != null)).FirstOrDefault()
0 голосов
/ 24 мая 2019
              publishedEventDate = s.SchoolStores.Select(ss => ss.Events
                                                  .Where(ee => ee.Status == EventStatus.Published && ee.SchoolId == s.Id && ee.Date >= DateTime.Today).Select(p=>p.Date)).FirstOrDefault()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...