2011-08-15 10 views
0

私はdatetime型のlastUpdateTimeという列を持つテーブルを持っています。過去1分以内に更新されたすべてのレコードを一覧表示するクエリを実行するにはどうすればよいですか?linq:1分以内にレコードを更新する方法は?

DataContext dc=new DataContext(); 

from a in dc.Acccounts 
where a.lastUpdateTime //how to write this line? 
select a; 

答えて

3

まあ、これはあなたが行うことができますトリッキーが、仮定シンプルさを得ることができますタイムゾーンデータに依存する可能性がある。..

from a in dc.Accounts 
where a.lastUpdateTime >= DateTime.Now.AddMinutes(-1) 
select a; 
+0

でなければなりませんありがとうございました。 –

0

私はこの猫をスキンするには約900の方法があることを確認しています。私はここで多くの仮定をしていますが、これはあなたを動かすべきです。私はあなたが

  • があなたのLASTUPDATEDATEでPersonクラスを作成した(WPFやSilverlightを仮定して)使用していたものをクリアしていなかったとして

    1. まず私は、コンソールアプリケーションを作成しました:

      public class Person 
      { 
          public int ID { get; set; } 
          public string FirstName { get; set; } 
          public DateTime LastUpdateDate { get; set; } 
          public Person() 
      
          { 
          } 
      { 
      
    2. が移入人々は任意のデータを持っています。ラムダ式を使用してクエリを実行しました。減算が意味をなさない場合は、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(); 
      } 
      
    3. 結果は "Test3は"

    乾杯

    マット

  • 関連する問題