从数据库返回字符串值

Nau*_*nja 0 c# linq linq-to-sql

我想获得Patient的Firstname从数据库中,但什么我得到当我运行这段代码仅仅是一个LINQ表达式字符串,而不是.

public static string GetPatientName(int bedNumber)
{
        var name = "";

        using (var data = new HospitalDBDataContext())
        {
             if (data.Connection.State == ConnectionState.Closed) 
               data.Connection.Open();

             name = data.Patients.Where(x => x.BedNumber.Equals(bedNumber))
                                 .Select(x => x.Firstname).ToString();

            if (data.Connection.State == ConnectionState.Open) 
               data.Connection.Close();

            data.Dispose();
        }

        return name;
}
Run Code Online (Sandbox Code Playgroud)

使这个表达式返回我需要的实际值的方法是什么?

wen*_*imo 5

name = data.Patients.Where(x => x.BedNumber.Equals(bedNumber))
                    .Select(x => x.Firstname).ToString();
Run Code Online (Sandbox Code Playgroud)

应该:

name = data.Patients.Where(x => x.BedNumber.Equals(bedNumber))
                    .Select(x => x.Firstname).FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)

你需要实际选择.First()或.FirstOrDefault().现在,您将整个IQueryable语句转换为字符串.