Linq到实体查询获取错误
本文关键字:获取 取错误 查询 实体 Linq | 更新日期: 2023-09-27 18:04:09
我正在尝试修改一个c#项目。我是vb。兽医程序员所以有一些问题,因为我是新的linq。我正试图运行Linq到实体查询。我想选择MapEast,其中town = town。我总是得到一个错误The specified cast from a materialized System.Decimal' type to the 'System.Int32' type is not valid.
。我想在这里也放一个max(1),这样它只返回最大的数字。
var topEast = 0;
try
{
topEast = this._uow.Addresses
.Where(a =>
a.Town.Trim().ToUpper() == town.Trim().ToUpper())
.Select(m => m.MapEast).FirstOrDefault ();
return -1;
}
catch
{
return -1;
}
谢谢
var
用于隐式类型局部变量。当您定义var topEast = 0;
时,topEast
被隐式地指定为int
类型,而不是根据您的查询指定为十进制。您可以通过显式地将topEast
定义为十进制来修复它。
decimal topEast = 0;
我想在这里也放一个max(1),所以它只返回最多。
不确定你想返回什么,因为你从try
和catch块返回-1
。如果您试图返回MapEast
字段的Max
值,那么您将需要Enumerable.Max
,否则FirstOrDefault
将根据标准返回第一项或null。