私のasp.netアプリケーションには、新しい学生と学生の編集のような2つのページがあります。新しい学生のページでは、姓、名、携帯電話番号、電子メール、登録番号などの一般的な詳細を渡しています。
ここで、RegNo は一意である必要があります。データベース接続にEntity Frameworkを使用しています。次のように、同じ RegNo が入力されないように条件をチェックしています。
DataObject.Entities dataEntities = new DataObject.Entities();
if (!dataEntities.Students.Any(s => s.RegNo == RegNo))
{
// my code here.
}
編集オプションと同じ方法で、RegNo を変更しようとします。他の学生に割り当てられている場合は、更新コードに入るべきではありません。
ここで同じ条件を使用すると、RegNo がこの学生 (更新しようとしている学生) のデータベースにあるため、失敗することがわかっています。したがって、RegNo がこの特定の学生に割り当てられ、他の学生には割り当てられていない場合それ以外の場合は、別の部分に移動する必要があります。
Entity Framework を使用してこれを確認する方法がわかりません。誰でも私を助けてくれますか?
私は列を持っていますStudentId
、それは自動インクリメント列です
のようにしてみました
if (!dataEntities.Students.Any(s => s.RegNo == RegNo && s.StudentId != StudentId))
{
}
それでもうまくいかない……。