0

我有这个查询(linq to entity):

var query = from p in dbContext.Students
                        where p.Type == "پیش ثبت نام" && p.Approved == false
                        select p;

如您所见,我想选择所有具有上述条件的学生,然后我想使用以下代码将结果转换为数组:

string[] strNumbers = dbContext.Students.Where(p=>p.Type=="پیش ثبت نام" && p.Approved==false).ToArray();

但上面的代码它'不起作用:“无法将类型'NoavaranModel.Student []'隐式转换为'string []'”并且当我使用此代码时:

string[] strNumbers = dbContext.Students.Where(p=>p.Type=="پیش ثبت نام" && p.Approved==false).Cast<string>().ToArray();

我收到此错误:“无法将类型 'NoavaranModel.Student' 转换为类型 'System.String'。LINQ to Entities 仅支持转换实体数据模型原始类型。”。

然后我想将 strNumbers 传递到 Methode 下面:

Utility.SendMessageForStudents(strNumbers);

感谢您的建议。

4

1 回答 1

4

您必须返回字符串而不是 where 子句返回的学生对象。您可以使用选择方法选择学号。假设学生有 StudentNumber

string[] strNumbers = dbContext.Students.Where(p=>p.Type=="پیش ثبت نام" && p.Approved==false).Select(c=>c.StudentNumber).ToArray();
于 2012-10-14T06:57:47.340 回答