2011-03-05 1 views
0

J'essaie de construire une application asp.net mvc 2 pour la saisie de données. Je veux générer les vues sur les formulaires de manière dynamique, donc j'utiliserai htmlhelpers. Quelle serait l'option la plus flexible pour la source de données? donc quand je change la base de données je ne dois pas réellement changer le code du tout (donc je devine EF n'est pas une option)? donc aucun changement de modèle/contrôleur etc. Ou je n'ai pas le choix mais en changeant les modèles dans mon code?asp.net mvc 2 avec des vues générées dynamiquement

+0

Faites-vous référence aux modifications apportées aux objets de données à l'aide de LINQ to SQL? – JustinStolle

Répondre

0

Eh bien par changer la base de données, je suppose que vous voulez dire changer dbms, de SQL Server à Oracle par exemple.

Je doute que vous trouviez une solution pour le faire sans aucun changement de code, mais vous pouvez rendre les choses beaucoup plus simples en utilisant des interfaces pour tous vos services.

Par exemple

public interface IDataRepository 
{ 
     ... 
} 
public class SqlServerDataRepository : IDataRepository 
{ 
     ... 
} 

et pour les tests

public class MockRepository : IDataRepository 
{ 
     ... 
} 

et plus tard si vous SWITH bases de données

public class OracleRepository : IDataRepository 
{ 
     ... 
} 

Cela pourrait alors être utilisé simplement en se référant aux interfaces

public class MyService 
{ 
     public MyService(IRepository repo) 
     { 
      //ctor 
     { 
} 

Et idéalement l'injection d'objets avec Inversion de contrôle, Ninject ou structuremap par exemple.

Excuses si tout cela vous est déjà connu et que vous cherchez quelque chose de différent!

+0

merci pour vos commentaires Paul! avec "changer la base de données", je voulais dire changer le datamodel, donc ajouter des colonnes supplémentaires à une table par exemple? – user603007

Questions connexes