Mam tabelę o następującym formacie.Casting String jako DateTime w LINQ
PID ID Label Value
------------------------------------------
1 1 First Name Jenna
1 2 DOB 10/12/1980
muszę pobrać wszystkie PID gdzie Imię zaczynające się na literę J i miesiąc DOB jest 10.
w moim kodu, odzyskać je w DataTable w C#, a następnie próbował użyć LINQ aby pobrać wyniki, które chcę. To tylko przykład. Etykiety te mogą być dowolnie zdefiniowane przez użytkownika.
za pomocą LINQ Jestem w stanie odzyskać wszystkie PID, w których imię zaczyna się od J, ale za każdym razem, gdy próbowałem uzyskać wartość Cast dla DOB, otrzymuję nieprawidłowy błąd rzucania. Nie mogę zmienić typu kolumny w bazie danych, ponieważ wartość może zawierać dowolny rodzaj informacji.
Oto fragment mojego kodu. Jestem nowy w LINQ i wciąż staram się rozgryźć.
var resultQuery = from r in query.AsEnumerable()
where (r.Field<string>("Label") == Label &&
r.Field<DateTime>("Value").Month == 10)
select r.Field<int>("PID");
Jaka jest wartość DateTime z "Jenna"? Nie jestem pewien, czy to możliwe. – Bobson