我正在尝试构建一个用于数据输入的asp.net mvc 2应用程序。我想动态生成表单上的视图,因此将使用htmlhelpers。什么是数据源最灵活的选择?所以当我更改数据库时,我根本不必实际更改代码(所以我想EF不是一个选项)?所以没有模型/控制器改变等。或者我没有选择,但改变我的代码中的模型?
答案 0 :(得分:0)
通过更改数据库,我假设您的意思是更改dbms,例如从sql server更改为oracle。
我怀疑你会在没有任何代码更改的情况下找到解决方案,但是你可以通过为所有服务使用接口来使事情变得更简单。
例如
public interface IDataRepository
{
...
}
public class SqlServerDataRepository : IDataRepository
{
...
}
并进行测试
public class MockRepository : IDataRepository
{
...
}
以后再加上数据库
public class OracleRepository : IDataRepository
{
...
}
然后可以通过引用接口
简单地使用它public class MyService
{
public MyService(IRepository repo)
{
//ctor
{
}
理想情况下,使用Inversion of control,Ninject或structuremap注入对象。
道歉,如果您已经知道这一切并且您正在寻找不同的东西!