【发布时间】:2015-02-21 16:16:22
【问题描述】:
所有,我在下面的 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 和实体框架 6,以及 SQL Server 2012。
在我更改数据库中的 PriceEnd 列以允许它保存空值之前,该查询运行良好,并且我知道其中至少有一行包含空值。
此代码保存在 Windows 窗体中,并由窗体的 Load 方法调用,以绑定到 pricingdataGridView。
代码抛出System.NullReferenceException,附加信息为Object reference not set to an instance of an object。
我已经查看了所有内容,我可以在 Linq 查询的 where 子句中找到大量关于处理 null 的引用,但我没有发现任何与处理返回集中的 null 值相关的内容。
感谢任何帮助。
干杯。
【问题讨论】:
标签: c# linq-to-entities entity-framework-6