Я проверил множество сообщений с этой ошибкой, но ни одна из них не имела этой конкретной проблемы. (Кроме того, я новичок в диез был ява DEV)Linq Указанный литой недействителен
Я получаю исключение, как
System.InvalidCastException был пойман
на table2.Field (» MEME_CK ") ниже в фрагменте кода.
Есть около 3K строк в table2, я не мог найти способ, чтобы избежать неправильной отливки для линии table2.Field («MEME_CK»)
Данные может быть либо пустым, нет, действительным или недействительным. Поэтому я попытался использовать оператор с нулевым значением для генерирования общих параметров. Также видел класс DBNull, который может представлять несуществующее значение.
Есть ли способ предварительно обработать данные столбцов перед тем, как сделать «равный тест» или присоединиться к коду ниже? Как я могу избежать кастинга даже после использования типа NULL?
Следующий код в основном выполняет объединение двух таблиц данных на основе MemberID i.e MEME_CK или MemeCk и создает новый объект с CapHeadID, MemeCk и т. Д. В качестве полей.
var query =
(from table1 in searchResult.AsEnumerable()
join table2 in memberInfo.AsEnumerable()
on table1.Field<decimal?>("MemeCk") equals
table2.Field<decimal?>("MEME_CK")
select new
{
CapHeadID = table1.Field<decimal>("CapHeadID"),
MemeCk = table1.Field<decimal>("MemeCk"),
Suffix = table2.Field<decimal>("MEME_SFX"),
Suscriber = table2.Field<string>("SBSB_ID"),
BusinessArea = table2.Field<string>("TEAM"),
MemberName = table2.Field<string>("MemberName"),
WorkTypeName = table1.Field<string>("WrkName"),
SSN = table2.Field<string>("MEME_SSN"),
AssignedUser = table1.Field<string>("AssignedUser")
}).Distinct().OrderBy(a => (a.Suscriber.IsNotNil() ?
a.Suscriber : "")).Take(3000);
Было бы полезно, если вы можете объяснить, что делает этот код. Это кажется излишне запутанным. –
Извините. Я добавил описание для приведенного выше кода. – amit
Что такое базовый тип SQL для 'MEME_CK'? –