我有一个表有一个名为lastUpdateTime,datetime type的列。如何进行查询,列出最近1分钟内更新过的所有记录?
DataContext dc=new DataContext();
from a in dc.Acccounts
where a.lastUpdateTime //how to write this line?
select a;
答案 0 :(得分:3)
这可能取决于时区数据可能会变得棘手,但假设你可以做到简单..
from a in dc.Accounts
where a.lastUpdateTime >= DateTime.Now.AddMinutes(-1)
select a;
答案 1 :(得分:0)
我相信大约有900种方法来捕捉这只猫。我在这里做了很多假设,但这应该让你跑步。
使用您的LastUpdateDate:
创建了一个person类public class Person
{
public int ID { get; set; }
public string FirstName { get; set; }
public DateTime LastUpdateDate { get; set; }
public Person()
{
}
{
使用任意数据填充人员列表。使用lambda表达式执行查询。如果减法没有意义,请查看Timespan。注意2其中的更新日期大于1分钟。
static void Main(string[] args)
{
List<Person> People = new List<Person>();
People.Add(new Person() { ID = 1, FirstName = "Test1", LastUpdateDate = DateTime.Now.AddMinutes(-10) });
People.Add(new Person() { ID = 2, FirstName = "Test2", LastUpdateDate = DateTime.Now.AddMinutes(-5) });
People.Add(new Person() { ID = 3, FirstName = "Test3", LastUpdateDate = DateTime.Now });
var result = People.Where(p => (DateTime.Now - p.LastUpdateDate).Minutes <= 1);
foreach (Person p in result)
{
Console.WriteLine(p.FirstName);
}
Console.ReadLine();
}
结果应为“Test3”
干杯
马特