C# EF6 将 Linq 结果绑定到日期列为空的 DataGridView 问题
C# EF6 issue binding Linq result to DataGridView where date column is null
全部,我遇到以下 Linq 查询问题:
private void BindDataGrid(string _filter)
{
using (var context = new Kennels_Data_ModelContainer())
{
var grid = context.Pricings
.Where(x => x.AnimalType.Type == _filter)
.Select(x=> new {x.PriceStart, x.PriceEnd, x.Price});
if (grid != null)
{
var results = grid.ToList();
pricingDataGridView.DataSource = results;
pricingDataGridView.Columns[0].Width = 80;
pricingDataGridView.Columns[1].Width = 80;
pricingDataGridView.Columns[2].Width = 57;
}
}
}
我正在使用 Visual Studio 2013 和 Entity framework 6,以及 SQL Server 2012。
在我更改数据库中的 PriceEnd
列以允许它保存空值之前,查询工作正常,而且我知道其中至少有一行包含空值。
此代码保存在 Windows 表单中,由表单的 Load 方法调用,以绑定到 pricingdataGridView
。
代码抛出 System.NullReferenceException
,附加信息为 Object reference not set to an instance of an object
。
我找遍了,我可以在 Linq 查询的 where 子句中找到大量关于处理 null
的参考资料,但我找不到任何与处理 null
有关的内容返回集中的值。
感谢任何帮助。
干杯。
请问EF模型更新了吗?如果在您的模型中 PriceEnd
字段保持 decimal
,但应该变为 decimal?
,则可能会抛出 NullReferenceException
LINQ 空检查,避免这些记录:
... context.Pricings.Where(x => x.AnimalType.Type == _filter && x.PriceEnd != null)...
全部,我遇到以下 Linq 查询问题:
private void BindDataGrid(string _filter)
{
using (var context = new Kennels_Data_ModelContainer())
{
var grid = context.Pricings
.Where(x => x.AnimalType.Type == _filter)
.Select(x=> new {x.PriceStart, x.PriceEnd, x.Price});
if (grid != null)
{
var results = grid.ToList();
pricingDataGridView.DataSource = results;
pricingDataGridView.Columns[0].Width = 80;
pricingDataGridView.Columns[1].Width = 80;
pricingDataGridView.Columns[2].Width = 57;
}
}
}
我正在使用 Visual Studio 2013 和 Entity framework 6,以及 SQL Server 2012。
在我更改数据库中的 PriceEnd
列以允许它保存空值之前,查询工作正常,而且我知道其中至少有一行包含空值。
此代码保存在 Windows 表单中,由表单的 Load 方法调用,以绑定到 pricingdataGridView
。
代码抛出 System.NullReferenceException
,附加信息为 Object reference not set to an instance of an object
。
我找遍了,我可以在 Linq 查询的 where 子句中找到大量关于处理 null
的参考资料,但我找不到任何与处理 null
有关的内容返回集中的值。
感谢任何帮助。
干杯。
请问EF模型更新了吗?如果在您的模型中 PriceEnd
字段保持 decimal
,但应该变为 decimal?
LINQ 空检查,避免这些记录:
... context.Pricings.Where(x => x.AnimalType.Type == _filter && x.PriceEnd != null)...