Beim Versuch, eine Ganzzahl in eine Zeichenfolge in der LINQ in die Abfrage von Entities umzuwandeln, kann ein Fehler auftreten. Dieses Problem liegt hauptsächlich daran, dass die implizite Typumwandlung nicht unterstützt wird.
im ersten Codefragment:
Der Compiler fordert einen Fehler auf, da er die Integer -Steuerung nicht in einen Stringwert konvertieren kann.
<code class="language-csharp">var items = from c in contacts select new ListItem { Value = c.ContactId, //无法将类型“int”(ContactId)隐式转换为类型“string”(Value)。 Text = c.Name };</code>
toString () konvertierte explizit eine Ganzzahl in eine Zeichenfolge in LINQ zu Entitäten, um zu fehlschlagen:
Lösung:
<code class="language-csharp">var items = from c in contacts select new ListItem { Value = c.ContactId.ToString(), //抛出异常:ToString 在 linq to entities 中不受支持。 Text = c.Name };</code>
Um dieses Problem zu lösen, können Sie SQLFunctions.StringConvert -Funktionen in EF v4 verwenden. Da es jedoch keine ganzzahlige Last gibt, können Sie sie zuerst in eine doppelte Schwimmpunktzahl oder Dezimalzahl umwandeln:
Diese Methode wandelt die Ganzzahl erfolgreich in eine Zeichenfolge um und ermöglicht es Ihnen, die LINQ in Entitäten -Abfrage fortzusetzen.
Das obige ist der detaillierte Inhalt vonWie konvertiere ich Int in String in LINQ to Entities-Abfragen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!