在我的 asp.net 应用程序中,我有两个页面,例如新生页面和编辑学生页面。在新学生页面上,我传递了一般详细信息,例如名字、姓氏、手机号码、电子邮件和注册号。
这里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))
{
}
还是不行......
最佳答案
if(!dataEntities.Students.Any(s=>s.RegNo == RegNo && s != studentBeingUpdated))
将 studentBeingUpdated
替换为包含对您当前正在更新的学生的引用的变量。
关于c# - Entity Framework 的 If 条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10330209/