1

「発効日」と「終了日」の列を含むさまざまな列を持つデータベースがあります。

レコードを追加する前に、特定の発効日と終了日のセットに重複するレコードがないことを確認する必要があります。どうすればこれを実装できますか?LINQを使用してMVCでアプリを構築しています。

ありがとう!

4

2 に答える 2

2

startDateとTerminationDateのいずれかのレコードが新しいレコードの開始日と終了日にあるかどうかを確認する必要があります。これはlinqを使用して行うことができます。

bool overlap = db.Records.Any(x=>(x.TerminationDate >= givenRecord.StartDate 
                  && x.StartDate <= givenRecord.TerminationDate) ||
                  (x.TerminationDate <= givenRecord.TerminationDate 
                  && x.StartDate >= givenRecord.StartDate));
于 2012-04-19T18:38:07.167 に答える
1
var result = (from t in dbContext.table
             where t.EffectiveDate.Value <= yourDate && 
             t.TerminationDate.Value >= youDate
             select t).Count();
if(result > 0)
{
//Overlap
}
于 2012-04-19T18:32:18.913 に答える