似乎无法将int转换为linq表达式中的字符串

时间:2018-01-13 22:19:48

标签: c# entity-framework linq

我在以下程序中收到以下错误

public Patient getPatientByPatientId(int PatientID)
{
    Patient patient = new Patient();
    if (PatientID == -1)
    {
       patient = new Patient();
    }
     else
    {
       using (var myContext = new SMBASchedulerEntities(this.Connectionstring))
        {
                patient = myContext.Patients
               .Where(w => w.PatientID == Convert.ToString(PatientID)).FirstOrDefault();
         }
        }
        return patient;
}

错误是

  

发生了'System.NotSupportedException'类型的未处理异常   在EntityFramework.SqlServer.dll

中      

其他信息:LINQ to Entities无法识别该方法   'System.String ToString(Int32)'方法,而且这个方法不可能   翻译成商店表达。

1 个答案:

答案 0 :(得分:0)

转换代码

for s in tweet:
    sn = s.user.screen_name
    m = "@%s Nice Post" % (sn)
    s = api.update_status(m, s.id)

patient = myContext.Patients.Where(w => w.PatientID == Convert.ToString(PatientID)).FirstOrDefault();

以上查询假设patient = myContext.Patients.Where(w => w.PatientID ==PatientId.ToString()).FirstOrDefault(); PatientId

但错误说 String

方法LINQ to Entities does not recognize the method 'System.String ToString(**Int32**)' methodPatientId

然后尝试使用以下代码

Int