我的主键中有一个包含3列的表。如何检查特定ID是否存在?
我知道一个主键......但我不知道多少!
public bool Check(string id)
{
return (from eee in Db.table where eee.id == id select eee).Any();
}
答案 0 :(得分:6)
如果您有复合键
public bool Check(string key1, string key2, string key3) {
return Db.table.Any(x => x.key1== key1 && x.key2 == key2 && x.key3 == key3);
}
答案 1 :(得分:1)
您可以检查所有三行 - 例如:
public bool Check(string id, string id2, string id3)
{
return (from eee in Db.table where eee.id == id select && eee.id2 == id2 select && eee.id3 == id3 select eee).Any();
}
答案 2 :(得分:1)
将所有ID传递给您的函数并尝试使用此代码,
public bool Check(string id ,string id_2 , string id_3)
{
return (from eee in Db.table where eee.id == id select && eee.id_2 == id_2 select && eee.id_3 == id_3 select eee).Any();
}
答案 3 :(得分:1)
如果您的表中有复合键并且您正在使用Entity Framework,那么您可以使用接受复合主键值列表的DbSet.Find方法:
return db.table.Find(key1, key2) != null;
答案 4 :(得分:0)
一种方式是......
public bool IsCompositeKey(string id, string id2, string id3)
{
return (from eee in Db.table where eee.id == id select && eee.id2 == id2 select && eee.id3 == id3 select eee).Any();
}