0
我从DB我的实体列表中获取,更改一些属性并尝试在数据库中更新。如何使用Dapper扩展更新数组?
using (var cn = new SqlConnection(ConnectionString))
{
cn.Open();
var dataPredicate = Predicates.Field<Data>(f => f.Id, Operator.Eq, new [] {1, 2, 3}); // of course it's for an example
var data = cn.GetList<Data>(dataPredicate);
foreach (var element in data)
{
element.Status = StatusEnum.Pending;
element.LastChange = DateTime.Now;
}
foreach (var activeRequest in data)
{
cn.Update(activeRequest);
}
cn.Close();
}
我也试过:
var updated = data.Select(s => new Data
{
Id = s.Id,
CreateDate = s.CreateDate,
ForeignId = s.ForeignId,
LastChange = DateTime.Now,
Status = RequestStatus.Pending
});
我也得到InvalidOperationException异常:已经有一个用此命令,必须先关闭相关联的打开的DataReader。
我对其他操作没有任何问题。
如何正确更新它?
'VAR数据= cn.GetList (dataPredicate).ToList();'尝试此 – Anri
无关,但不需要'cn.Close();'在using语句中。 –
@ v.shashenko我以同样的方式思考,但他们说的相反:[Dapper-Extensions on github](https://github.com/tmsmith/Dapper-Extensions) – lyha