我在一个MSSQL表列中有以下数据
2011-06-20 11:53:32.000
2011-06-20 11:54:24.000
2011-06-20 11:55:45.000
2011-08-05 10:24:12.000
2011-08-05 10:25:28.000
2011-08-05 10:26:20.000
2011-08-05 10:27:12.000
2011-08-05 10:28:04.000
2011-08-05 10:28:55.000
使用LINQ,我想从列
中获取以下数据2011-06-20
2011-08-05
所以我可以放入List<>
最好的方法是什么?我已经有了上下文设置,所以我不需要详细说明。我只需要了解最好的“查询”和逻辑,我可以使用它来获取这些数据。谢谢!
答案 0 :(得分:1)
您正在寻找一系列DateTimes中的所有Distinct日期,以下将显示示例以获取您需要的内容,假设您已经在字符串中或通过查询数据库:
示例(包含字符串列表):
var list; //Contains your dates
var result = list.Select(x => x.Date.ToShortDateString()).Distinct();
示例(来自数据库表):
List<String> dates = (FROM d in datesTable
SELECT d.date.ToShortDateString()).Distinct().ToList();
用于演示功能的控制台示例:
List<DateTime> list = new List<DateTime>();
list.Add(DateTime.Parse("2011-06-20 11:53:32.000"));
list.Add(DateTime.Parse("2011-05-20 11:53:32.000"));
list.Add(DateTime.Parse("2011-05-20 11:44:32.000"));
list.Add(DateTime.Parse("2011-04-20 11:53:32.000"));
var result = list.Select(x => x.Date.ToShortDateString()).Distinct();
foreach (string date in result)
{
Console.WriteLine(date);
}
Console.Read();
答案 1 :(得分:0)
var q = from t in mydates select distinct ( t.Date.ToShortDateString());
答案 2 :(得分:0)
要在列表中选择不同的日期,请尝试:
List<String> myDates = (from t in myTable
select t.myDate.ToShortDateString()
).Distinct().ToList()