【发布时间】:2016-08-03 21:59:47
【问题描述】:
我们有一个名为 Data Grid 的数据绑定数据网格,用于显示产品的使用量。
顾名思义,它有一个额外的列来指定调整这个数量的数量。
定义绑定源的 LINQ to SQL 是
public BindingList<MeterRead> QryMeterRead
{
get
{
var list = new BindingList<MeterRead>();
list.AllowNew = false;
list.AllowRemove = false;
var records = ExecuteQuery<MeterRead>(
@"select
mr.meter_rd_id,
mr.meter_id,
mr.read_dt,
mr.prev_dt,
mr.reading,
mr.demand_reading,
mr.usage,
mr.orig_usage,
mr.prev_usage,
mr.estimated,
mr.kvar_reading,
mr.change_out_from_id,
mr.multi_mtr_est,
adjust_dt = convert(datetime, null),
usage_adjust = convert(integer, null),
measure_id = convert(integer, null),
mr.location_id,
'customer_id' = {0},
'group_id' = {1}
from ub_meter_read mr (nolock)
where mr.meter_id = {2}
order by meter_rd_id desc", usageparams.read_customer_id, usageparams.read_group_id, usageparams.read_meter_id);
if (records != null)
{
foreach (MeterRead rec in records)
{
list.Add(rec);
}
}
return list;
}
}
其中adjust_dt、usage_adjust 和measure_id 是添加字段。它们不存在于表中,但用于允许数据调整。
在我们表单的数据网格上,可以在单击“保存”按钮时对数据进行更改以进行提交。
对表单进行一些更改,例如更改数字 usage_adjust 值,然后底层 LINQ 数据源会获取这些更改。
一切都好。
如果有人(比如测试部门的人)决定通过删除 usage_adjust 值来移除这些更改,则 LINQ 似乎正在尝试绑定它们 - 为数据网格引发误导性的空引用错误。
我猜其他人已经遇到过这种情况,但我不知道该怎么称呼它或如何搜索这种类型的错误条件。
有人知道解决这类问题的好方法吗?
【问题讨论】:
-
LINQ 查询在哪里?