【发布时间】:2011-10-11 05:14:39
【问题描述】:
我有一个非常简单的数据库。它是各种配置项的名称/值存储,我试图简单地将它们全部取出并放入项目列表中。
我的 LINQ 查询如下所示:
configurationList = (from c in database.Configurations select new ViewConfigurationSettingModel(c.name, c.value){ IsChanged = (c.name == id) } ).ToArray();
ViewConfigurationSettingModel 类如下所示:
public class ViewConfigurationSettingModel
{
public ViewConfigurationSettingModel(string name, string value)
{
this.Name = name;
this.Value = value;
this.IsChanged = false;
}
public string Name { get; private set; }
public string Value { get; private set; }
public bool IsChanged { get; set; }
}
执行 LINQ 查询时出现异常,因为“IsChanged”不是可空类型且不能包含空值。我很难过(c.name == id) 怎么会导致空值。这两个值都是字符串,但即使是与 null 的比较也应该导致简单的真假。
LINQ 是怎么回事,这突然导致空值?
【问题讨论】:
标签: linq