In LINQ zu Entitäten kann es zu unerwarteten Herausforderungen stehen, eine Ganzzahl in eine Zeichenfolge zu konvertieren. Dies ist besonders offensichtlich, wenn Sie den String -Attributwert von Integer -Attributen (z. B. kontiert) an das neue Objekt ausprobieren.
gemeinsame Methoden und ihre Einschränkungen
Die erste Methode, die C.ContactID direkt zu einem Wert zuweist, führt zu einem Fehler in "unmöglich, den Typ 'int' als 'String' zu konvertieren.
Die zweite Methode unter Verwendung von C.ContactId.ToString () begegnen ein anderes Hindernis: "Linq zu Entitäten unterstützt das Toststring nicht". Dies liegt daran, dass das ToString eine Methode ist, die auf dem CLR -Objekt ausgeführt wird und nicht auf der LINQ -Entität ausgeführt wird.
In Entity Framework (EF) 4.0 und höhere Versionen können Sie SQLFunctions.StringConvert -Methoden als Transformationslösung verwenden. Da es jedoch keine Ganzzahl -Last gibt, müssen Sie eine Ganzzahl in eine Dual -Prescision- oder Dezimalart umwandeln:
Diese Lösung wird effektiv in eine Zeichenfolge im LINQ -Expression konvertiert, sodass Sie den ContractID nahtlos auf das Wert -Attribut abbilden können.Das obige ist der detaillierte Inhalt vonWie konvertiert man Ganzzahlen in Zeichenfolgen in LINQ to Entities-Abfragen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!