我在将int(long)转换为string时遇到问题。当我使用l.code == l.id.ToString()时,它会抛出异常。 id是long类型,代码是nvarchar。
我正在使用的代码是
if (municipalityId != null)
q = q.Where(l => l.MunicipalityId == municipalityId.Value && l.Code == l.Id.ToString());
我会很感激的任何帮助
答案 0 :(得分:0)
正如Matt Thrower指出的那样 - 这是EF将ToString()
方法转换为实际SQL类型转换的问题。
尝试明确指定SQL函数:
if (municipalityId != null)
q = q.Where(l => l.MunicipalityId == municipalityId.Value && l.Code == SqlFunctions.StringConvert((decimal)l.Id).Trim())