Frage

LINQ to SQL ermöglicht die automatische Konvertierung von Tabellenzuordnungen hin und her in Enums durch Angabe des Typs für die Spalte – dies funktioniert für Zeichenfolgen oder ganze Zahlen.

Gibt es eine Möglichkeit, bei der Konvertierung die Groß-/Kleinschreibung nicht zu berücksichtigen oder eine benutzerdefinierte Zuordnungsklasse oder Erweiterungsmethode in den Mix einzufügen, sodass ich genauer angeben kann, wie die Zeichenfolge aussehen soll?

Der Grund dafür könnte sein, eine schönere Namenskonvention in einem neuen, unkonventionellen C#-Code in einem System bereitzustellen, in dem das Datenschema bereits festgelegt ist (und von einigen älteren Apps verwendet wird), damit der tatsächliche Text in der Datenbank angezeigt werden kann. Es kann nicht geändert werden.

War es hilfreich?

Lösung

Sie können jederzeit eine Teilklasse mit demselben Namen wie Ihre LinqToSql-Klasse hinzufügen und dann Ihre eigenen Parameter und Funktionen definieren.Auf diese kann dann als Objektparameter und Methoden für dieses Objekt zugegriffen werden, genauso wie auf die automatisch generierten LinqToSql-Methoden zugegriffen werden kann.

Beispiel:Sie haben eine LinqToSql-Klasse mit dem Namen Car die der Car-Tabelle in der DB zugeordnet ist.Anschließend können Sie App_Code eine Datei mit dem folgenden Code hinzufügen:

public partial class Car {
  // Add properties and methods to extend the functionality of Car
}

Ich bin mir nicht sicher, ob dies Ihrer Anforderung, die Art und Weise zu ändern, wie Aufzählungen einer Spalte zugeordnet werden, vollständig entspricht.Sie könnten jedoch einen Parameter hinzufügen, bei dem die get/set-Eigenschaften die von Ihnen benötigten Aufzählungen zuordnen und dabei die Groß-/Kleinschreibung nicht berücksichtigen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top