根据Column和一些object's Field检查一个对象是否存在于SQL表中

本文关键字:一个对象 检查 Field 是否 存在 表中 SQL Column object 根据 | 更新日期: 2023-09-27 17:52:36

我目前试图检查是否存在一个具有唯一ID的对象的实例在SQL表中。以免放置重复。以下是我目前拥有的一个示例:

string ui = someObj.getUniqueID();
IQueryable<String> checkDataQuery = from cdq in db.SomeObjects
                                           where cdq.UniqueID == ui
                                           select cdq.UniqueID;
if (checkDataQuery != ui) // This is just my attempt at making sure that
                          // the query actually returned something and not 
                          // the string representing nothing found, so if there
                          // is a better checking method that would even more helpful.

我遇到的主要问题是我不能访问checkDataQuery作为string。我尝试cast它,并使用.Single()/.First()方法,然而,前者没有成功,后者使单个字符串被返回到字符列表。

根据Column和一些object's Field检查一个对象是否存在于SQL表中

您可以使用Enumerable.Any检查结果,如:

bool ifExists = db.SomeObjects.Any(r=> r.UniqueID == ui);

如果你想获得对象,那么你可以使用FirstOrDefault并检查null,如:

var dbObject = db.SomeObjects.FirstOrDefault(r=> r.UniqueID == ui);
if(dbObject != null)
{
  //record exists
}