2009-06-29 18 views
0

J'ai une table SQL Server qui a des noms génériques comme Text1, Text2 .. etc. La table a été conçue comme ceci car la même structure est utilisée pour différents projets.Mappage des propriétés de classe aux colonnes génériques de la table .NET

J'ai une classe dans .NET qui a des propriétés. Dites qu'une classe Customer a une propriété appelée FirstName. Comment puis-je faire le mappage de FirstName à Text1 juste une fois (place centrale) dans l'application afin que je n'ai pas à retenir et à coder les mappages partout dans l'application lorsque je crée les différentes méthodes DAL?

Par exemple, je veux que l'application sache quand je veux mettre à jour, insérer un prénom, le DAL utilise automatiquement Text1. Fondamentalement, je n'ai pas à me rappeler quelle propriété va à quelle colonne. L'idée est que les développeurs ne mappent pas correctement les properlies/colonnes. C'est toujours cohérent.

Remarque: Les insertions, mises à jour et suppressions de bases de données sont autorisées uniquement via des procédures stockées.

Répondre

0

Regardez dans les différents ORM là-bas. Pour mapper une base de données existante, est parfait.

+0

Je ne peux pas utiliser ORM tiers. Je préfère le faire en .NET ou peut-être LINQ. –

+0

Je ne comprends pas cette mentalité, c'est comme dire "Je ne peux pas utiliser un tournevis pour tourner une vis". Oh bien je suppose ... – mxmissile

+0

Certaines entreprises ne permettent pas les composants tiers pour des solutions simples. Vous dites d'utiliser un powertoolbox pour quelque chose de simple. Lancer nHibernate qui est un outil ORM majeur pour que je doive taper moins n'est pas une bonne idée. Cela signifie également que chaque développeur de l'équipe doit l'apprendre. Je suis à la recherche d'une solution que je peux coder en moins d'une heure. –

0

Si vous êtes coincé avec MS et ne voulez pas utiliser le framework d'entité LinqToSQL est plutôt bon.

+0

Comment? Vous recherchez la mise en œuvre, pas seulement le nom d'une technologie. –

0

Si vous ne pouvez pas utiliser NHibernate (et je suggère fortement que vous faites) ou ne sont pas en mesure d'utiliser LINQ to SQL (peut-être vous base de code est .NET 2.0) puis ...

Vous volonté probablement de mettre en œuvre une forme de modèle d'usine. À l'intérieur de votre objet usine, vous pouvez renvoyer un ensemble de données volumineux, puis utiliser un objet pour mapper l'objet à traduire entre votre ensemble de données et les objets DTO/View/Entity. Jimmy de Lostechies a créé un grand objet open source pour mapper d'objet que vous pourriez trouver très utile: AutoMapper.

Bonne codage