2

LoginControlSQLServerデータベースにテーブルがあります。

追加から30分後にプロパティを自動的に削除したい。

テーブルに2つのプロパティ(LoginIdToken)があり、LoginControl両方を1つ続けて削除したいと思います。

Visual Studio 2012を使用して単純なデータベースを作成し、EntityFrameworkを介してアクセスしました。

解決策はありますか?*.edmxファイルの作成中のVisualStudioの設定は?

4

1 に答える 1

2

これは、これらの種類のタスクが実行される方法ではありません。SQLではなく、アプリケーションのビジネスロジックで実装されます。

あなたはより良いはずです:

  1. 両方のテーブルにタイムスタンプフィールドを追加し、挿入時間を保存します(トリガーを使用してそれを行うこともできます)
  2. 影響を受けるテーブルでクエリを実行するときにタイムスタンプを検証し、クエリの「古すぎる」レコードを破棄します
  3. 古いログインレコードをクリーンアップするDBを毎日または1時間ごとにクリーニングするための定期的なジョブを作成します。
    • SQLサーバー上:多くの人がこれが進むべき道だと言っています。これは、データの処理という目的でDBを使用します。古いデータを削除する必要があります-この側面から、これにはDBを使用する必要があります。
      • DBのスケジューリング機能を使用する必要があります。
      • コードが1か所にない場合、アプリケーションコードがアプリケーション内にのみ存在し、DB機能をまだ使用していない場合は、リリースの処理にさらに注意を払う必要があります。
    • アプリケーションで:この方法ではすべてのロジックが1つの場所にあるため、これをお勧めします。しかし、これは私の個人的な見解であり、明らかに不利な点もあります。
      • より多くのアプリケーションコード、
      • これには、アプリケーションにスケジューリングロジックが必要です。これは、以前は存在していなかった場合は、追加する必要があり、最も重要なこととして、長期的には処理する必要があります。

したがって、アプリケーションの既存の性質にクリーンアップ/アップロジックを配置する場所の決定、そしてもちろん利用可能な機能に関する多くのことです。

于 2013-03-13T12:53:03.823 に答える