他们谈论了仓储模式,以及如何轻松更改为其他数据访问技术,而不仅仅是直接调用Linq to Sql。
引用块中说:“在控制器类中使用LINQ to SQL会使将来切换数据访问技术变得困难。例如,您可能决定从使用Microsoft LINQ to SQL切换到使用Microsoft Entity Framework作为数据访问技术。在这种情况下,您需要重写应用程序中访问数据库的每个控制器。”
注意:在阅读本教程之前,我从未真正理解接口的工作方式,现在仍不完全清楚。我现在将其视为类的某种“模板”。
成功使用Linq to Sql后,我认为尝试Ado.net Entity Framework会很好,因为我一直在阅读相关信息。他们说使用仓储模式可以轻松切换,因此我想测试一下。
我的问题是:我应该怎么做才能切换到Ado.net EF?
以下是我认为应该做的。
- 添加Movie.edmx文件并配置它(添加我的电影表)。
- 基于IMovieRepository编写一个新类,可能称之为MovieEFRepository。
- 更改控制器构造函数中的参数为MovieEFRepository。这是我发现的第一件奇怪的事情,因为在教程中他们说如果不使用存储库将会强制您更改所有控制器,如果更改到其他数据源。但既然我正在指定MovieRepository类,难道我不需要更改每个控制器吗?
- 我认为我需要做的最后一个调整是更改View。因为它使用由Linq to Sql设计师创建的Product类。我不确定我该如何做。我想我应该使用一些不依赖于dbml文件的对象吗?
如果我对Asp.net Mvc有稍微简单化的看法,请原谅。我是一名网页设计师,对Asp.net Web开发非常感兴趣。