在linq到sql结果中出现意外的空序列
本文关键字:意外 linq sql 结果 | 更新日期: 2023-09-27 17:49:39
我有一个简单的查询,从表中删除一个条目
CB_User_Schedule deleted = (from x in db.CB_User_Schedules
where x.ScheduleID == CurrentScheduleID
select x).Single();
db.CB_User_Schedules.DeleteOnSubmit(deleted);
db.SubmitChanges();
但是,第一个语句返回Sequence contains no elements
。我可以看到,当它执行CurrentScheduleID的值实际上是一个数字,当我直接执行select * from CB_UserSchedules where ScheduleID = 3
时,它确实返回一行。为什么我的语句没有在数据库中找到那一行呢?
使用内置的LINQ-to-SQL日志检查发出的SQL(将TextWriter连接到DataContext的Log属性)或SQL分析器。更有可能的是,您在DBML中遇到了数据类型不匹配或关键问题(即,某些东西与DB中的现实不匹配,映射器正在对其进行处理)。我们在L2S上运行一个非常大而复杂的站点,这些问题几乎总是与损坏的DBML有关。