Question

LINQ to SQL permet aux mappages de tables de se convertir automatiquement en énumérations en spécifiant le type de la colonne - cela fonctionne pour les chaînes ou les entiers.

Existe-t-il un moyen de rendre la conversion insensible à la casse ou d'ajouter une classe de mappage personnalisée ou une méthode d'extension dans le mix afin que je puisse spécifier plus en détail à quoi devrait ressembler la chaîne.

Les raisons de cela pourraient être de fournir une convention de dénomination plus agréable dans un nouveau code C# génial dans un système où le schéma de données est déjà défini (et est utilisé par certaines applications héritées) afin que le texte réel de la base de données puisse ' ne doit pas être changé.

Était-ce utile?

La solution

Vous pouvez toujours ajouter une classe partielle portant le même nom que votre classe LinqToSql, puis définir vos propres paramètres et fonctions.Ceux-ci seront alors accessibles en tant que paramètres et méthodes d'objet pour cet objet, de la même manière que les méthodes LinqToSql générées automatiquement sont accessibles.

Exemple:Vous disposez d'une classe LinqToSql nommée Car qui correspond à la table Car dans la base de données.Vous pouvez ensuite ajouter un fichier à App_Code contenant le code suivant :

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

Je ne sais pas si cela répond totalement à votre exigence de changer la façon dont les énumérations sont mappées dans une colonne.Cependant, vous pouvez ajouter un paramètre dans lequel les propriétés get/set fonctionneront pour mapper les énumérations dont vous avez besoin tout en gardant les choses insensibles à la casse.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top