asp.net MVC + linq to Entity简单教程(一)MVC的建立与Entity的建立

原创 2012年03月27日 15:37:13

  最近在写一个项目,是一个用于手机浏览器浏览的一个校园办公的系统,主要是采用HTML5 + asp.net MVC进行编写的,平时在写程序的时候,很少用到MVC,一般都是用三层架构,因为MVC架构,生成的前台代码,很干净,没有一些乱七八遭的代码,很适合与HTML5结合。在开发的时候,我们采用的model模型,依然是我们最熟悉是的ado.net。程序在测试完成,交付使用之后,自己感觉可以借这个机会,好好对MVC进行学习和总结一下,所以就看了一些文章,发现一般在使用MVC的时候,数据模型一般都采用 Entity framework。自己也就一起学了一下。现在记下自己学习过程中的一些总结,问题。与大家共同分享,有不对的地方,希望大家给与指正。

  我的开发环境是 VS2008 + sqlserver 2005   +  MVC3.5

        好了,我们开了,这里说一点,因为这个程序我已经开发了一半了,所以有些前期的东西,就是是另外起的一个名字,建立的新工程。

  一,建立一个MVC工程。这个不多说了,我想大家都会建立的,说多了,也就没有意思了。

    

(图1)

       二,在生成好的MVC工程里,我们在Models文件夹里建立我们的 Entity模型

    

(图2)

    

     (图3)

    这里我们选择第一项

    

(图4)


    在下面图中,你在新建的时候,点new Connection进行连接数据库,说一下,下面有一个 NO,YES的选项,它的意思是你是否把连接数据库的密码写到web.config文件中,这个根据你自己的喜欢和习惯而定了

    

(图5)

               点击 “New Connection” 会出现下面的样子,不多说了,这个很简单,

    

(图6)

    点“OK”回到上一个图,点next,就是会出现,让我们让我们选择表,视图,存储过程的页面了

    

(图7)

    选择你要在这个项目中运用到的表,视频或是存储过程了,当然了,你也可以在以后的程序编写过程中,慢慢加。选择之后,点“Finish”,这时候在工程里,就会生成一个叫test.edmx的文件

    

(图8)

    

(图9)


    这样,一个Entity数据模型就建立完成了。它会为你自动生成,表之间的关系,表的结构。自动你建立起,添加,修改,删除的功能。(注:我只找到删除和添加)

    生成完之后,你就可以向调用一个类一样,在controls文件中,实例化一个,来进行操作了。名字是什么啊?哈哈。。。在图5中的最下面,有一个“Save Entity......”的文本框,这个就是它的名字了,你只要实例化一下就行了,如下

    

NewETrainEntities newEtrain = new NewETrainEntities();

    说明一下,Entity有自己的操作方法,我没有采用,我用的是linq to Entity.这一点一定要注意

    这里说几个我遇到的问题,在图9中,我们可以看到,我们选择的表,视图,都会在这个页面中显示出来,如果我们不小心,选错了一个表,并不想用它,怎么办呢。我们第一个选择就是去图9中,把这个表删除了,可是你会发现,当你再想建这个表时候,你会发现,你根本就找不到这个表,因为它显示你已经建完了。这是为什么呢。我已经删除了,为什么还在呢。因为你删除只是一个视图,它的还是存在于这个模型之中的,大家看下图

    

    (图10)

  在MODEL BROWER中我们可以看清楚看到,你删除的在NewEtrainModel1.Store里没有,可是在上面的NewEtrainModel中还是存在的。

  一般清楚下,我们会认为,我删除了,再加回来呗,可是我在这里,是死活也没有找到可以加回来的方法,如果有,请朋友告诉我。

怎么呢,我只能用Editplus打开了这个Model1.edmx文件,在这里你会找到,你刚才删除的这个表的信息,你查询一下,把所有相关的信息全删除,然后,再去视图里,重建一下,就行了。

  我感觉这个是最笨的方法,VS不会不给提供找回的方法,只是我没有找到而已。


  这里提一点,因为linq to sql已经不更新了,说是现在主推是Entity。而且很多人还在讨论到底是Entity快呢。还是ado.net快呢。个人感觉应该是ado.net快啊。因为它是直接写SQL语句啊。而linq to Entity还需求再转一次,当然可能是我没有理解里面的机制吧

  这一章就介绍这些,下一章,我们将进行程序的开发和一些简单的linq to Entity的语法说明。

  对于一些基础的操作与基础知识,我在这里就不做介绍和说明了,网上有很多。


Entity Framework技术系列之7:LINQ to Entities

前言 LINQ(Language Integrated Query,语言集成查询)是一组用于C#和VB.NET语言的扩展,它允许编写C#或者VB.NET代码,以与查询数据库相同的方式操作内存数据。L...
  • dyllove98
  • dyllove98
  • 2013年04月03日 23:58
  • 10395

菜鸟级三层框架(EF+MVC)项目实战之 系列一 EF零基础创建领域模型

系列概述:全系列会详细介绍抽象工厂三层的搭建,以及EF高级应用和 ASP.NET MVC3.0简单应用,应用到的技术有Ef、Lambda、Linq、Interface、T4等。 由于网上对涉及到的技术...
  • judyge
  • judyge
  • 2015年10月31日 16:30
  • 2510

MVC学习笔记四:利用Entity Framework调用存储过程

MVC利用EF调用存储过程 这一章记录一下,如何通过EF调用数据库中的存储过程。 依然按照前面的两种数据库操作方式,一种是DbContext,第二种是ObjectContext. 一.DbCo...
  • sudazf
  • sudazf
  • 2013年11月07日 23:59
  • 10082

Asp.net mvc 期末试题及答案

Asp.net mvc 期末试题及答案
  • vinglemar
  • vinglemar
  • 2015年06月29日 22:51
  • 10128

asp.net MVC + linq to Entity简单教程(一)MVC的建立与Entity的建立

最近在写一个项目,是一个用于手机浏览器浏览的一个校园办公的系统,主要是采用HTML5 + asp.net MVC进行编写的,平时在写程序的时候,很少用到MVC,一般都是用三层架构,因为MVC架构,生成...
  • qq_16518567
  • qq_16518567
  • 2014年09月22日 15:49
  • 265

asp.net MVC + linq to Entity简单教程(二)MVC的简单操作

MVC的概念不多说,model + view + Controller 有人说这个和三层没有什么区别啊。也是分三层写的啊。MVC中model层我们真的没有做什么,基本就是建立数据模型,而control...
  • chenguang79
  • chenguang79
  • 2012年03月28日 11:36
  • 3109

asp.net MVC + linq to Entity简单教程(二)MVC的简单操作

MVC的概念不多说,model + view + Controller 有人说这个和三层没有什么区别啊。也是分三层写的啊。MVC中model层我们真的没有做什么,基本就是建立数据模型,而control...
  • qq_16518567
  • qq_16518567
  • 2014年09月22日 15:48
  • 287

asp.net MVC + linq to Entity简单教程(四)linq to Entity查询中其它方法的使用

在前面我们说到了,简单的列表显示,下面我们来介绍一下,一些其它的属性。   1, order by 的使用    在sql语句中,order by 语句是经常使用的。一般来说,它一般和top配对使...
  • chenguang79
  • chenguang79
  • 2012年03月29日 22:39
  • 4998

asp.net MVC + linq to Entity简单教程(五)linq to Entity中join的使用以及子查询

多表联查,可以说是我们写sql语句时最常用的一种方法。一般采用,内联(join),左联(left join),右联( right join)的方式。这里不多说了,想必大家也都了解。这里我要说的一点是在...
  • chenguang79
  • chenguang79
  • 2012年03月30日 21:45
  • 6751

asp.net MVC + linq to Entity简单教程(四)linq to Entity查询中其它方法的使用

在前面我们说到了,简单的列表显示,下面我们来介绍一下,一些其它的属性。   1, order by 的使用    在sql语句中,order by 语句是经常使用的。一般来说,它一般和to...
  • qq_16518567
  • qq_16518567
  • 2014年09月22日 15:52
  • 561
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:asp.net MVC + linq to Entity简单教程(一)MVC的建立与Entity的建立
举报原因:
原因补充:

(最多只允许输入30个字)