C # не может преобразовать int в строку - PullRequest
0 голосов
/ 14 марта 2012
var query = from s in student
            select new ListItem
            {
                ID = s.studentId, 
                Name = s.studentName
            };

Когда я попытался выполнить код, я получил ошибку

/ /Cannot implicitly convert type 'int' (studentId) to 'string' (ID).

Могу ли я в любом случае этого добиться?

Ответы [ 5 ]

1 голос
/ 14 марта 2012

Поскольку вы используете LINQ to Entities, ToString не будет работать для вас, вместо этого вам придется попробовать

SqlFunctions.StringConvert((double)s.studentId) // поскольку для int

перегрузки нет

Проверьте это Функции Sql

1 голос
/ 14 марта 2012

Вы пробовали 'ToString ()'?

var studentId = s.studentId.ToString();
var query = from s in student select new ListItem { ID = studentId, Name = s.studentName };
0 голосов
/ 14 марта 2012

Используйте метод Convert.ToString () ..... Convert.ToString (obj) не нужно предполагать, что объект не является нулевым (так как это статический метод в классе Convert), но вместо этого вернет String . Пусто, если оно равно нулю .....

 var query = from s in student
                        select new ListItem
                        {
                            ID = Convert.ToString(s.studentId),
                            Name = s.studentName
                        };
0 голосов
/ 14 марта 2012

ListItem не содержит свойства ID.Попробуйте использовать один из его конструкторов;

var query = from s in student select new ListItem(s.studentName, s.studentId.ToString());
0 голосов
/ 14 марта 2012

создайте новую переменную с типом var и присвойте этому переменной значение studentid и используйте новую переменную в вашем linq

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...