搜索引擎上的答案是:只有一个自增列是没办法插入的,必须要除了自增列以外还存在其它字段
搜索引擎上的Sequence contains no matching element异常解决方案大多数还都是Linq查询时,查到的数据为null或者数据源count=0,但是代码可能使用了First()、Single、ElementAt导致的
如果是此原因可使用FirstOrDefault() 来代替 First()、使用SingleOrDefault 来代替 Single、使用 ElementAtOrDefault 来代替 .ElementAt
很不幸我的问题都不是这些答案,我使用的是SqlSugar第三方的ORM
//插入返回自增列 (实体除ORACLE外实体要配置自增,Oracle需要配置序列)
db.Insertable(insertObj).ExecuteReturnIdentity();
在执行插入语句时报Sequence contains no matching element
检查实体类时发现自增主键的属性上只有[SugarColumn(IsPrimaryKey=true)]
正确的应该是[SugarColumn(IsPrimaryKey = true, IsIdentity = true)]
SqlSugar官方上说明IsIdentity是自增标识,IsPrimaryKey是主键标识,在新增插入数据时实体类没有IsIdentity自增标识所以报:序列不包含匹配元素,原因就是匹配不到自增的字段而数据库又设计了自增的字段