我是新手使用linq查询数据库,只是想知道我的查询是否有任何缺陷,因为它没有按我的意愿行事。我只想知道数据库中是否有任何与两个数字匹配的项目。
如果是,则不应该向数据库中添加任何内容,但它似乎继续添加新内容,尽管我检查一个项目是否已经用这个数字加了!我做错了什么,如何改进我的查询?
if(db.Member.Any(x => x.ID == c && x.CountryID == d))
{
Do something if there is a match and the member already excist in DB...
} else
{
Write new Member to DB....
}
答案 0 :(得分:1)
请尝试这个版本。
var memberObject=db.Member.Where(x => x.ID == c && x.CountryID == d).FirstOrDefault();
if (memberObject==null){
//Write new Member to DB....
}else{
//Do something if there is a match and the member already excist in DB...
}