Я написал следующий LINQ запрос для соединения двух таблиц на основе общего (то, что я думал, что будет) целочисленные:LINQ Join On Int = Char DataTypes?
Dim test =
(From forecast In dtForecast.AsEnumerable() Join dns In dtDns.AsEnumerable()
On forecast.Field(Of Int32)("BrandId")
Equals dns.Field(Of Int32)("SalesCategory01Code")
Select New With
{
.Key = forecast.Field(Of String)("BrandName")
}).ToList()
Однако, он бросает исключение Specified cast is not valid
Я с тех пор обнаружил, что столбец BrandId - int
, а столбец SalesCategory01Code устанавливается как char(6)
.
Можно ли изменить это и сделать работу соединения с помощью LINQ?
Как вы хотите, чтобы 'char (6)' преобразовывался в 'int', когда' int' имеет только 4 байта? – MarcinJuraszek
@MarcinJuraszek Я думаю, что это больше проблема с дизайном базы данных, так как «MAX (SalesCategory01Code)» из базы данных «600». – TimeBomb006