データバインドされたデータグリッドがあり、使用されている製品の量を示します。LINQ to SQL(Null可能な余分な列を含む)
名前のとおり、この量を調整するための量を指定する余分な列があります。バインディングのソースを定義するSQLに
LINQはadjust_dt
、usage_adjust
とmeasure_id
がフィールドが追加され
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;
}
}
あります。彼らはテーブルには存在しませんが、データ調整が可能です。
フォームのデータグリッドで、[保存]ボタンをクリックしたときにコミットするデータを変更できます。
usage_adjust
の値を変更するような形でフォームを変更し、基になるLINQデータソースがそれらの変更を取得します。
すべていいです。 の値を削除して、これらの変更を削除しようとすると、LINQがそれらをバインドしようとしているように見えます。データグリッドに対して誤ったヌル参照エラーがスローされているようです。
私は他の人がこれを見つけたと推測していますが、それをどう呼び出すべきか、このタイプのエラー条件を検索する方法はわかりません。
誰もこの種の問題を解決する良い方法を知っていますか?
LINQクエリがありますか? –