我正在使用EF并拥有一个模型实体Test.cs,它包含几个属性和一个计算属性Deviation。此属性应显示在gridview中,但不应对此属性进行更新。我已将计算列定义如下:
[DatabaseGenerated(DatabaseGeneratedOption.Computed)]
public decimal? Deviation { get; private set; }
在控制器方法中,我将尝试按以下方式保存更改:
public virtual ActionResult BatchUpdate(MVCxGridViewBatchUpdateValues<T, int> updateValues)
{
if (ModelState.IsValid)
{
var model = Db.Set<T>();
// update existing records updateValues.Update.Where(updateValues.IsValid).ForEach(updateValue => UpdateModel(model.Single(e => e.Id == updateValue.Id), null, null, excludeProperties: new[] { "Deviation" }));
// apply changes
Db.SaveChanges();
}
else
{
throw new Exception("Model is invalid");
}
return GridViewPartial();
}
即使我排除了计算属性Deviation,我也得到以下异常:
类型&#39; System.Data.SqlClient.SqlException&#39;的第一次机会异常。发生在System.Data.dll中 其他信息:列名称无效&#39;偏差&#39;。
知道我在这里做错了吗?
提前致谢。