super_user Ответов: 1

Значения одни и те же, но имена разные с помощью linq


в одном столбце таблицы в FID есть две таблицы, а тип в db-string, а в другом столбце таблицы-MID, а тип в db-int . я пытаюсь приспособиться, но это показывает ошибку

Что я уже пробовал:

string data = "[";
                var re = (from veh in DB.tblVeh
                          join regh in DB.tblRe on 
                          new{MID=veh .MID} equals new {MID=tblRe .FID}
                          where !(veh .VName == "")
                          group veh by veh .VName into g
                          select new
                          {
                              Name = g.Key,
                              cnt = g.Select(t => t.Name).Count()
                          }).ToList();


                data += re.ToList().Select(x => "['" + x.Name + "'," + x.cnt + "]")
                  .Aggregate((a, b) => a + "," + b);

                data += "]";



ошибка
Ошибка 2 тип одного из выражений в предложении join неверен. Определение типа сбой в вызове 'присоединиться'.

любое решение

1 Ответов

Рейтинг:
11

Maciej Los

один столбец таблицы-это КЛИН и введите в БД это строка а в другой колонке таблицы есть СР. и введите в БД is int


Что ж, сообщение об ошибке говорит точно то же самое, что и вы. Итак, вы должны заменить свое утверждение на:
join regh in DB.tblRe on new{MID=veh.MID} equals new {MID=(int?)regh.FID}


Пожалуйста, смотрите также прошлые ответы:
c# - тип одного из выражений в предложении join неверен в Entity Framework - Stack Overflow[^]
C# Linq to SQL: тип одного из выражений в предложении join неверен. Ошибка вывода типа[^]