Рейтинг:
5
Karthik_Mahalingam
попробуй вот так
string currentDate = DateTime.Now.ToString("dd/MM/yyyy");
var data = db.expense.Join(db.Itemmodels, exp => exp.ITEMID, im => im.id, (exp, im) => new { exp = exp, im = im })
.Where(o => o.exp.EntryDate == currentDate && o.exp.Manager == managerName && o.exp.THROUGH != "CashTransfer")
.ToList();
Maciej Los
Что ж... Он соответствует требованиям ОП, хотя Where
пункт, повторенный 3 раза, выглядит некрасиво. ;(
Улучшите его, и вы получите от меня 5 ;) До сих пор-4!
Karthik_Mahalingam
ха-ха, хороший улов.
сделано сэр :)
Спасибо.
Karthik_Mahalingam
Спасибо Мацей Лос
Abhilask kumar
Сэр, очень-очень Вам благодарен.
и Сэр, я новичок в mvc и entity framework.
Karthik_Mahalingam
крутой.
Abhilask kumar
Сэр еще одна помощь, когда этот результат переносится на просмотр, то возникает эта ошибка "элемент модели, переданный в словарь, имеет тип' System.Коллекции.Generic. List`1[<> f__AnonymousType3`2[Расход.Модели.tbl_expense,счет.Модели.Itemmodel]]', но для этого словаря требуется элемент модели типа ' System.Коллекции.Общий.IEnumerable`1[Расход.Модели.tbl_expense]'.
"
Karthik_Mahalingam
преобразуйте данные в тип tbl_expense
Рейтинг:
1
Maciej Los
Пожалуйста, прочтите мой комментарий к этому вопросу.
Это тоже должно сработать:
var data = db.expense
.Join(db.Itemmodels, q => q.ITEM, o => o.id, (q, ITEM) => new { q, ITEM })
.Where(o => o.q.EntryDate == DateTime.Today && o.q.Manager == managerName && o.q.THROUGH != "CashTransfer")
.ToList();
Karthik_Mahalingam
Привет Мацей
EntryDate = = DateTime.Сегодня
вышеприведенное условие никогда не будет соответствовать вообще. так как он будет проверять Отметка времени также.
Maciej Los
Это зависит от типа данных EntryDate
поле. Если это дата, а не тип данных DateTime, то запрос также должен работать. Если нет, то вы правы.
Спасибо за комментарий, Картик.
Karthik_Mahalingam
даже если это тип даты (в БД), он будет иметь значение "06/21/2016 00:00:00" в EntryDate( свойство c#), но DateTime.Теперь у вас будет метка времени типа " 21.06.2016 15:53:21"
так что он никогда не будет соответствовать вообще.
и прости, если я ошибаюсь.
Maciej Los
Как вы можете видеть, Я заменил DateTime.Теперь с датой и временем.Сегодня ;)
Karthik_Mahalingam
теперь все должно быть в порядке с вопросом даты.
5 за это.
Maciej Los
Спасибо, Картик.
Abhilask kumar
Но в модели и базе данных EntryDate - это строковый тип.
Maciej Los
Что ж... Звучит как очень плохой дизайн!
Abhilask kumar
когда я использую эту БД.Где(Р =&ГТ; п.EntryDate == Дата И Время.Сейчас.Метод toString("ДД/ММ/гггг")).Где (o = & gt; o.Manager == managerName).Где (o = & gt; o.THROUGH ! = "CashTransfer").Выберите (m = & gt; m.ITEM).Список()
тогда работайте нормально, но когда я использую join, то эта ошибка произойдет.
Karthik_Mahalingam
Измените тип столбца EntryDate на "Date"/" DateTime " в схеме таблицы БД.
Maciej Los
Очень хороший совет!
Abhilask kumar
спасибо за повтор,
Что я могу сделать?
проблема не в том, в каком состоянии.
Karthik_Mahalingam
разместите код класса для expense и Itemmodels
Abhilask kumar
публичный класс Itemmodel
{
[Ключ]
public int id { get; set; }
[Требуемый]
[MaxLength(50, ErrorMessage = "не может быть длиннее 50 символов.")]
[Display(Name= " Имя Элемента")]
public string ITEM { get; set; }
[Требуемый]
[MaxLength(5, ErrorMessage = "не может быть длиннее 5 символов.")]
[Display (Name= " Item Unit")]
подразделение Государственной строку { получить; набор; }
[Требуемый]
public int STATUS { get; set; }
//общедоступный виртуальный интерфейс ICollection&ЛТ;tbl_expense&ГТ; tbl_expenses { получить; набор; }
}
расходы на общественный класс
{
[Ключ]
public int id { get; set; }
[Дисплей(Имя= " Местоположение")]
public string Manager { get; set; }
[Требуемый]
[Display(Name = " Имя Элемента")]
общественный тип int идентификатор элемента { получить; набор; }
[Требуемый]
[Дисплей(Имя = " Дата")]
[Тип Данных(DataType. Date)]
public DateTime DATE { get; set; }
[Требуемый]
[Display(Name= " Through")]
[MaxLength(24, ErrorMessage = "не может быть длиннее 25 символов.")]
публичная строка через { get; set; }
[Требуемый]
[Дисплей(Имя= " Количество")]
свободном обращении кол-во { получить; набор; }
[Требуемый]
[Display (Name = " Сумма")]
публичное размещение АМТ { получить; набор; }
[Требуемый]
[Display(Name= " Примечания")]
публичная строка REM { get; set; }
public string LOC { get; set; }
public string EntryDate { get; set; }
}