Un problème courant dans LINQ2SQL est que la chaîne .NET permet d'assigner n'importe quelle longueur à sa variable, votre base de données peut avoir une contrainte de longueur maximale spécifique (comme VARCHAR (5)). Cela conduira au message d'erreur SQL "Les données chaîne ou binaires seront tronquées.", Ce qui est extrêmement inutile, car il ne vous dit pas quels champs est le coupable.LINQ2SQL: Comment implémenter une validation de longueur de chaîne générique maximale?
Évidemment, la validation de l'entrée pour la longueur de chaîne maximale sera la bonne façon. Le principal problème que j'ai rencontré est de créer la validation nécessaire pour chaque objet LINQ dans mon projet, et de mettre à jour la validation si la longueur maximale du champ est mise à jour.
Idéalement, je dois trouver un moyen de déterminer dynamiquement la longueur maximale d'un champ généré, donc je ne risque pas d'oublier de mettre à jour la validation plus tard.
La meilleure implémentation que je puisse trouver jusqu'à présent est "Integrating xVal Validation with Linq-to-Sql", ce qui est déjà bien supérieur à tout ce que je peux penser. Le seul point incertain est la détermination dynamique de la longueur maximale.
Est-ce que quelqu'un a vu ou implanté quelque chose de similaire?
Je l'ai testé à l'aide mes propres objets LINQ, et ça marche bien! Avec quelques retouches, c'est une solution assez simple qui répond à la plupart de mes besoins de validation. Je vous remercie! – alextansc