Я перехожу с SQL на Linq и мне нужна помощь. Я тестирую как Linq-to-SQL, так и Linq-to-Entities. Я хочу попробовать оба, чтобы решить, какой из них подходит мне лучше всего. Ваша помощь приветствуется. Спасибо
Каков правильный синтаксис (если возможно, в vb.net) для выбора минимального значения даты из таблицы?
Dim mydata As New DataClassesDataContext
Dim myresult = From cv In mydata.T1s
Select cv.DATE1, cv.Date2, cv.Datex
myresult=Dump()
Я пробовал Я пытался использовать
Select amin=cv.DATE1.Min(), amax=cv.Date1.Max(), bmin=cv.Date2.Min(), etc....
выдает эту ошибку 'Min' is not a member of 'Date'
.
Данные, которые я хочу получить мин и макс, ниже:
IOrderedQueryable<VB$AnonymousType_0<DateTime,DateTime>> (16 items)
Date1 Date2
17/Oct/09 12:00:00 AM 23/Oct/09 12:00:00 AM
10/Jan/09 12:00:00 AM 15/Feb/09 12:00:00 AM
27/Mar/09 12:00:00 AM 27/Mar/09 12:00:00 AM
30/May/09 12:00:00 AM 30/May/09 12:00:00 AM
25/Jan/09 12:00:00 AM 25/Mar/09 12:00:00 AM
01/Nov/09 12:00:00 AM 01/Nov/09 12:00:00 AM
21/Feb/09 12:00:00 AM 04/Mar/09 12:00:00 AM
02/Mar/09 12:00:00 AM 09/Mar/09 12:00:00 AM
07/Jul/09 12:00:00 AM 07/Jul/09 12:00:00 AM
27/Sep/09 12:00:00 AM 27/Sep/09 12:00:00 AM
05/Nov/09 12:00:00 AM 05/Nov/09 12:00:00 AM
15/Apr/09 12:00:00 AM 15/Apr/09 12:00:00 AM
08/Jun/09 12:00:00 AM 08/Jun/09 12:00:00 AM
07/Jul/09 12:00:00 AM 07/Jul/09 12:00:00 AM
30/Jul/09 12:00:00 AM 30/Jul/09 12:00:00 AM
04/Nov/09 12:00:00 AM 04/Nov/09 12:00:00 AM
Теперь решено, но это не идеальное решение, похоже, мне нужно было сделать отдельный запрос для каждого столбца, который требует функции aggreagate:
Sub Main
Dim mm = (From cv In T1s
Select Datez = (cv.Date1)).Min()
Dim mm1 = (From cv In T1s
Select Datez = (cv.Date1)).Max()
Dim mm2 = (From cv In T1s
Select Datez = (Date2)).Min()
Dim mm3 = (From cv In T1s
Select Datez = (Date2)).Max()
mm.dump()
mm1.dump()
mm2.dump()
mm3.dump()
End Sub
Результаты ниже
10/Jan/09 12:00:00 AM
05/Nov/09 12:00:00 AM
15/Feb/09 12:00:00 AM
05/Nov/09 12:00:00 AM