Il y a environ cinq ans, j'ai commencé à utiliser des tables génériques de recherche pour les applications que je développais. Je sais, je peux entendre les soupirs et les poings battre contre vos bureaux, mais il a prouvé qu'il réduit considérablement le temps de développement. Si vous voulez un résumé et une voix forte contre des tables de consultation, Jake Christian fait un bon travail qui résume ici: http://www.projectdmx.com/dbdesign/lookup.aspxRemplacement générique de table de recherche
Le dernier projet que je lancé il y a quelques jours a environ 20 types de valeurs de recherche, allant de l'État Noms aux statuts actifs. En utilisant le modèle N-Tier classique et en restreignant l'accès aux procédures stockées, nous aurions écrit 20 tables, 80 procédures stockées (1 Select, 1 Edit, 1 Update et 1 Delete per) si nous utilisions un modèle relationnel «correct». Au lieu de cela, la table de correspondance commune a 1 table et 4 SP. Comme l'accès aux valeurs de recherche est plus fréquent, nous mettons en cache les valeurs dans un objet d'application ASP.NET.
Ma question est quelles sont les alternatives, en plus de créer une table et 4 SP par type de recherche? Je commence juste à regarder LINQ en remplacement de notre DAL (EntLib DAAB), donc je serais ouvert à entendre parler des alternatives LINQ aussi.
Nous vous remercions d'avance pour vos suggestions.
Vous clouer le problème majeur, l'entretien. Vous pouvez utiliser des outils pour créer des tables et des SP CRUD, mais les changements de table tels que les changements de type nécessitent généralement des changements codés à la main dans la table def et 3 des 4 SP du CRUD. Nous limitons notre utilisation aux tables de recherche à varchars pour le contenu (les ID sont ints) car la plupart des valeurs de recherche se retrouvent comme des valeurs dans Drop-Drop-Down et d'autres listes sur le client. Si le type de contenu de recherche était autre chose qu'un varchar, nous créerions une table enfant. – Josh