兑换。 LIN64或int.Parse无法识别LINQ到实体

时间:2018-06-14 19:30:05

标签: c# string entity-framework range

我正在尝试获取两个字符串之间的范围数据。

我有一个包含这样数据的字符串列表

示例:

K123456,
H123456,
J123456,
T122123,

所以字符串对象的第一个章程包含一个字母。

var StartLabwareid = int.Parse(obj.LWbStartId.Replace(labIni,""));
var EndtLabwareid = int.Parse(obj.LWbEndId.Replace(labIni, ""));



var LabWId = (from ai in _entities.Ai
              join result in _entities.Re on ai.Id equals re.Id
              where (Convert.ToInt32(ai.Id.Replace(Ini,"")) <= Startid ||
                     Convert.ToInt32(ai.Id.Replace(Ini, "")) >= Endtid)
              select new MViewModel
              {
                  ID = re.Id,
              }).ToList();

或者,我可以使用其他内容与字符串进行比较,并在日期范围St评级和结束日期之间获取数据

1 个答案:

答案 0 :(得分:0)

您无法在Linq to Entities中使用Convert等C#函数。相反,您可以在实现结果后进行比较,或使用SqlFunctions。使用SqlFunctions,您应该通过合并StuffCharIndex函数来获得结果。修改下面的行以满足您的需要,因为您没有提供所有代码。

SqlFunctions.Stuff(ai.Id, SqlFunctions.CharIndex(ai.Id, "replaceable"), 3, "")