我当前正在尝试检查 SQL 表中是否存在具有唯一 ID 的对象实例。以免重复放置。这是我目前拥有的示例:
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
。我尝试对其进行转换,并使用 .Single()/.First()
方法,但是,前者没有成功,后者使单个字符串返回到字符列表中。
最佳答案
您可以使用 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
}
关于c# - 根据列和某个对象的字段检查 SQL 表中是否存在对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22612838/