Как использовать лямбда-выражение для доступа к правильному типу данных?

#c# #asp.net-mvc #entity-framework

Вопрос:

Я использую лямбда-выражение для доступа к значениям с типом данных, но проблема в том, что у меня есть тип данных для времени как Время(7) в моей локальной базе данных и с использованием Entity Framework. В моей модели этот тип данных определяется как DateTime .

Как мне теперь получить доступ к этому типу данных, чтобы быть вовремя?

Это мой код:

 public List GetIncident_Details()
{
    Entities incident = new Entities();
    List result = new List();

    var c_incident = incident.Incident_Template.Select(c => c).ToList();

    if (c_incident != null amp;amp; c_incident.Count() > 0)
    {
        foreach (var cData in c_incident)
        {
            Incident_DropDown model = new Incident_DropDown();
            model.Title = cData.Title;
            model.Description = cData.Description;
            model.Date_Occurred = cData.Date_Occurred;

            // How do I change this to have access? 
            // It's complaining about the data type object being set to a string?
            model.Time = cData.Time; 
            model.Assignment_Group = cData.Assignment_Group;
            model.Reported_CI = cData.Reported_CI;

            result.Add(model);
        }
    }

    return resu<
}

public class Incident_DropDown
{
    public string Title { get; set; }
    public string Description { get; set; }
    public string Date_Occurred { get; set; }
    public DateTime Time { get; set; } // Time
    public string Assignment_Group { get; set; }
    public string Reported_CI { get; set; }
}
 

Комментарии:

1. Вы пробовали использовать TimeSpan вместо этого if DateTime ?

2. @AlexyRumnyantsev нет

Ответ №1:

Воспользовался некоторыми советами @alexey-румянцева, затем мне пришлось протестировать свой код, запросив тип данных модели на время, когда это было Время даты, а затем переключиться на временной интервал. Во время тестирования этот тип данных сравнивался с моей записью локальной базы данных, и при отладке он передавал правильные значения. // Название модели

 public class Incident_DropDown
    {
        public string Title { get; set; }


        public string Description { get; set; }


        public string Date_Occured { get; set; }

        public TimeSpan Time { get; set; } // had to change to work

        public string Assignment_Group { get; set; }


        public string Reported_CI { get; set; }

    }

// Controller
   public List<Incident_DropDown> GetIncident_Details()
        {
            Entities incident = new Entities();
            List<Incident_DropDown> result = new List<Incident_DropDown>();


            var c_incident = incident.Incident_Template.Select(c => c).ToList();
            if (c_incident != null amp;amp; c_incident.Count() > 0)
            {
                foreach (var cData in c_incident)
                {
                    Incident_DropDown model = new Incident_DropDown();
                    model.Title = cData.Title;
                    model.Description = cData.Description;
                    model.Date_Occured = cData.Date_Occured;
                    model.Time = cData.Time; // This here enable to pass correct time as per database record
                    model.Assignment_Group = cData.Assignment_Group;
                    model.Reported_CI = cData.Reported_CI;


                    result.Add(model);
                }
            }
            return resu<
        }