大家好:
我在项目中,用了 Dapper 组件。由于没有 Insert 实体的功能,所以顺带使用了 Dapper.SimpleCRUD。
但使用 Dapper.SimpleCRUD 插入数据时,却报错:序列不包含任何元素。
插入数据的代码如下:
ArticleEntity existingEntity = conn.QueryFirstOrDefault<ArticleEntity>(sql, entity, trans);
if (existingEntity == null)
{
//
// 插入数据
//
//conn.Insert<ArticleEntity>(entity, trans);
conn.Insert<ArticleEntity>(entity);
}
else
{
if (entity.DataHash != existingEntity.DataHash)
{
entity.ID = existingEntity.ID; // 设置ID到实体
//
// 数据哈希变化,更新现有数据
//
//sql = "UPDATE article SET Content = @Content, SourceUrl = @SourceUrl, DataHash = @DataHash, UpdateTime = @UpdateTime WHERE ID = @ID";
//conn.Execute(sql, entity);
conn.Update<ArticleEntity>(entity, trans);
}
else
{
//
// 数据已存在,抛异常给软件
//
throw new RepeatedRowException();
}
}
trans.Commit();