我尝试检索唯一元素(如果存在),如果不存在则返回null。
我的职责是:
private Dealer GetOrCreateDealer(DataRow dataRow)
{
ModelCamwareContext localContext = new ModelCamwareContext();
string test = dataRow["Dealer"].ToString();
Dealer dealer = localContext.Dealers.Where(x => x.Name == dataRow["Dealer"].ToString()).FirstOrDefault();
if (dealer != null)
{
...
}
else
{
...
}
}
我的测试字符串就在这里,以确保我没有dataRow信息的问题,它按预期工作,并给我一个字符串,我想选择我的经销商。
除非我弄错了,否则如果没有经销商可以检索,FirstOrDefault不应该给我任何例外,在这种情况下我应该经销商= null。
我得到的例外:
A first chance exception of type 'System.NotSupportedException' occurred in EntityFramework.dll
A first chance exception of type 'System.NotSupportedException' occurred in EntityFramework.dll
A first chance exception of type 'System.NotSupportedException' occurred in EntityFramework.SqlServer.dll
我错过了什么?
答案 0 :(得分:1)
实体无法评估其内部的LINQ中的数据表值。尝试这样的事情:
ModelCamwareContext localContext = new ModelCamwareContext();
string test = dataRow["Dealer"].ToString();
Dealer dealer = localContext.Dealers.Where(x => x.Name == test).FirstOrDefault();
if (dealer != null)
{
}
else
{
}