Ich habe eine Tabelle mit einem folgenden Format.Casting String als DateTime in LINQ
PID ID Label Value
------------------------------------------
1 1 First Name Jenna
1 2 DOB 10/12/1980
ich alle PIDs abrufen müssen, wo Vorname mit J und Monat der DOB beginnend 10.
in meinem Code, ich abrufen diese in Datentabelle in C# und dann versucht, LINQ zu verwenden, die zum Abrufen Ergebnisse, die ich möchte. Dies ist nur ein Beispiel. Diese Labels können alles sein, was der Benutzer definiert.
mit LINQ Ich bin in der Lage, alle PIDs, wo Vorname mit J beginnen, abrufen, aber jedes Mal, wenn ich versuchte, Cast-Wert für DOB Ich bekomme Cast nicht gültig Fehler. Ich kann den Spaltentyp in der Datenbank nicht ändern, da Value beliebige Arten von Informationen enthalten kann.
Hier ist ein Stück meines Codes. Ich bin neu bei LINQ und versuche immer noch, darüber herauszufinden.
var resultQuery = from r in query.AsEnumerable()
where (r.Field<string>("Label") == Label &&
r.Field<DateTime>("Value").Month == 10)
select r.Field<int>("PID");
Was ist der Datetime-Wert von "Jenna" ist? Ich bin mir nicht sicher, ob das machbar ist. – Bobson