我想学习Asp.net Mvc,所以我尝试了 this教程。Asp.net Mvc:使用LINQ to SQL创建模型类
他们讨论了Repository模式,以及如何轻松地转换为另一种数据访问技术,而不是直接调用Linq to Sql。
在控制器类中使用LINQ to SQL使得将来很难切换数据访问技术。例如,您可能决定从使用Microsoft LINQ切换到SQL以将Microsoft Entity Framework用作数据访问技术。在这种情况下,您需要重写每个访问应用程序内数据库的控制器。
注意:在阅读本教程之前,我从来没有真正理解接口是如何工作的,但它仍然不是100%清晰。我现在将它看作某种类的“模板”。
成功使用Linq to Sql后,我认为试试Ado.net Entity Framework会很好,因为我已经阅读了很多关于这方面的内容。他们说使用Repository模式可以很容易地切换,所以我想我会测试它。
我的问题是:我应该怎么做才能更改为Ado.net EF?
这是我认为我应该做的。
- 添加Movie.edmx文件,并配置它(加我的电影表)。
- 编写基于该IMovieRepository一个新的类,也许称之为MovieEFRepository。
- 将控制器构造函数中的参数更改为MovieEFRepository。这是我发现的第一件奇怪的事情,因为在本教程中他们说如果您更改为其他数据源,则不使用存储库会强制您更改所有控制器。无论如何,我不需要改变每一个控制器,因为我指定了MovieRepository类。
- 我认为我需要做的最后一次调整是更改视图。因为它使用由Linq to Sql设计器创建的Product类。我不知道我将如何去做这件事。我想我应该使用一些不依赖于dbml文件的对象?
请原谅我,如果我有一个简单的Asp.net Mvc视图。我是一个webdesigner,对Asp.net的web开发很感兴趣。
不错的问题。 – 2009-08-02 01:04:43