加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – Asp.net Mvc:使用LINQ to SQL创建模型类

发布时间:2020-12-16 07:07:51 所属栏目:asp.Net 来源:网络整理
导读:我正在努力学习 Asp.net Mvc所以我正在尝试 this教程. 他们讨论了存储库模式以及如何轻松地更改为另一种数据访问技术,而不是直接将Linq调用到Sql. Using LINQ to SQL within a controller class makes it difficult to switch data access technologies in t
我正在努力学习 Asp.net Mvc所以我正在尝试
this教程.

他们讨论了存储库模式以及如何轻松地更改为另一种数据访问技术,而不是直接将Linq调用到Sql.

Using LINQ to SQL within a controller class makes it difficult to switch data access technologies in the future. For example,you might decide to switch from using Microsoft LINQ to SQL to using the Microsoft Entity Framework as your data access technology. In that case,you would need to rewrite every controller that accesses the database within your application.

注意:在阅读本教程之前,我从未真正理解界面是如何工作的,并且它仍然不是100%清晰.我现在把它看作某种类的“模板”.

在成功使用Linq to Sql之后,我认为尝试Ado.net实体框架会很好,因为我已经阅读了很多相关内容.他们说使用存储库模式会很容易切换,所以我想我会测试它.

我的问题是:如何更改为Ado.net EF?

这是我认为我应该做的.

>添加Movie.edmx文件并对其进行配置(添加我的影片表).
>根据IMovieRepository编写一个新类,并将其称为MovieEFRepository.
>将控制器构造函数中的参数更改为MovieEFRepository.这是我觉得奇怪的第一件事,因为在教程中他们说如果你改用其他数据源,不使用存储库会强制你改变所有的控制器.我是否需要更改每个控制器,因为我指定了MovieRepository类?
>我认为我需要做的最后一次调整是更改视图.因为它使用的是由Linq to Sql设计器创建的Product类.我不确定我将如何做到这一点.我想我应该使用一些不依赖于dbml文件的对象?

如果我对Asp.net Mvc略微简单化一下,请原谅我.我是webdesigner,对Asp.net webdevelopment很感兴趣.

解决方法

您可能因为注入而将您的存储库解耦,而不是因为您只关注了示例

public MoviesController():this(new ** MovieRepository **())

我建议你阅读有关IOC的内容,简单而且非常有趣,你可以像城堡windsor一样使用和ioc容器.

有了它,你的控制器将只有一个构造函数,一个具有接口,而不需要更改.

使用您的实体,您可以使用控制器执行相同的操作,为每个实体创建一个界面并使用ioc模式,您只需更改ioc容器的配置文件即可.

如果你不做这些事,你的权利,你将需要改变所说的一切.

我希望有所帮助!抱歉我的英文!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读