将ExecuteQuery()输出的结果转换为列表后出现错误
本文关键字:列表 错误 转换 结果 ExecuteQuery 输出 | 更新日期: 2023-09-27 18:30:05
我正在为我的项目使用linq来sql。但在我使用.ToList()
扩展名转换ExecuteQuery()
的结果后出现错误
var logentries = DB.ExecuteQuery<keyValueList>(string.Format(query));
keyValueList kv1 = logentries.ToList();// -->Error in this line as:
错误:
无法隐式转换类型"System.Collections.Generic.List"到"DataLib.keyValueList"
ToList
返回一个List<T>
,其中T
是keyValueList
。但我认为你想要一个单独的对象,然后使用First
/FirstOrdefault
或Singler
/SingleOrDefault
:
keyValueList kv1 = logentries.FirstOrDefault();
不同之处在于,如果输入序列为空,则...OrDefault
方法返回null
,而First/Single
抛出exeption。此外,如果有多个项,Single
会抛出异常(如果这是不可能的,并且应该抛出,例如因为您正在通过唯一属性进行筛选,则会很有用)。