2011-03-05 66 views
0

我正在尝试构建一个用于数据录入的asp.net mvc 2应用程序。我想动态地生成表单上的视图,因此将使用htmlhelpers。数据源最灵活的选择是什么?所以当我更改数据库时,我根本不必实际更改代码(所以我猜EF不是一个选项)?所以没有模型/控制器更改等。或者我没有选择,但更改我的代码中的模型?有动态生成视图的asp.net mvc 2

+0

您是否指使用LINQ to SQL对数据对象所做的更改? – JustinStolle 2011-03-06 17:14:01

回答

0

那么通过更改数据库,我假设你的意思是改变dbms,从sql server到oracle为例。

我怀疑你会找到一个解决方案来做到这一点,根本没有任何代码的变化,但你可以通过使用所有服务的接口使事情变得更简单。

例如

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

和测试

public class MockRepository : IDataRepository 
{ 
     ... 
} 

和以后,如果你SWITH数据库

public class OracleRepository : IDataRepository 
{ 
     ... 
} 

这可能再参照接口使用简单

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

理想情况下注入控制反转,Ninject或结构图的对象为例。

道歉,如果这一切都已经知道你和你寻找不同的东西!

+0

感谢您的反馈保罗!与'改变数据库'我的意思是改变它的数据模型,所以添加额外的列到表中,例如? – user603007 2011-03-05 01:28:52