MVC通过EF连接SQL Severt

知识回顾:

昨天简单的学习了然后新建SQL Severt的数据库,并简单的创建表设置主键、是标识、如何简单的查询到表的内容

今天的学习内容:

通过mvc在控制器中接收查询到昨天新建表的内容

刚开始的时候我们简单的说过mvc对应的三个文件含义是声明

model 模型 (通过映射将数据库的表映射到model,就可以查询表,同时它也具有添加、删除、修改等操作)

view 视图 (展示页)

controlled 控制器 (获取数据 对视图的一下请求处理)

正式学习:

通过model查询数据库的表内容

一、重新键一个mvc空项目,用来学习重新数据库的表

新建项目的时候还是重新添加一个文件夹存放的框架内容等,复制我们需要的文件到里面

添加一个控制器并命名为ModelSQL

添加视图,输入内容启动是否创建成功

简单的创建一个按钮

二、选择model右键添加新建项

二、找到左边的数据,找到实体数据模型并命名

默认点击下一步

点击连接,连接是与数据库连接,选择第一个并继续

三、打开数据库,复制登陆页面的服务器名称

将复制的服务器名称到下面的第一个框框,可以选择SQL的身份验证,默认是window身份验证,在左下角点击测试连接是否连接成功

选择或输入数据库名称是与我们SQL里面包含的数据库对应的,找到昨天创建的student数据库即可

下一步之后,实体框架默认,然后下一步

选择我们只创建了一张表,如果有多张表需要哪一张就点击那一张,全选就点击表前面的复选框,点击确认等待,如果弹出什么框继续点击确认就好

五、相应的文件

当文件自动创建成功就会出现一下实体

左边是表的字段,如果有多张表也会一列显示出来

右边model文件夹会出现一些自动生成文件不要动

 

文件

1对应数据库的字段

2对应设计器

3对应配置文件

4对应student.cs对应的是数据库

表映射过来之后生成一个类 点击student查看

public 公共的可以去访问

int 数据了些

数据库的nvarchar(n)转变成了string字符串

如果多张表就会生成多个实体类对应的

六、通过实体类查询数据库的内容

不能直接去调用实体类的,要在前面对实体类实例化

Models在后面的的时候会出现提示

在红色框框内选择按F12会跳转到下面的类里面

myModel是我们自己命名的名字

当我们选中红色框框的内容后,按F12跳转到下图的位置

静态类可以直接调用里面的方法,实例类不可以直接调用,要实例化才能使用

通过实例对象myModel就可以调用查询表的数据

七、创建一个方法来接收SQL的数

方法创建完成之后直接运行,会出现下图效果

解决方式:在顶部URL位置上输入控制器名称和调用的方法即可

断点调试:

当我们鼠标移入ModelsStud会出现下面的错误提示,并没有出现我们提示的信息

通过ToList()强行执行这一句代码,再次调式的时候鼠标移入ModelsStud将会出现我们数据库的表的内容

另外说明:

当我们真正要返回映射数据库表里的内容时,是不能够在使用Content();来返回了

因为我们返回的不是一个字符串了

需要返回JSON类型才能被解析,将查询出来的数据丢进去,就换转换成JSON

JSON需要转化成js对象才能被js使用

public ActionResult myStudentModels()
        {
            // linq语句查询
            // custom 表名 名字不一可以自定义命名
            // myStudent.student 通过类找到数据库的表
            var ModelsStud = (from custom in myStudent.student // 查询整个表的数据
                              select custom).ToList(); // ToList() 强行执行
            // return Content(""); 返回的因为不是字符串,所有不能用
            // 会将我们查询到的内容转换成JSON字符串 JsonRequestBehavior请求行为 AllowGet允许 如果不加此语句会获取不到我们需要的内容
            return Json(ModelsStud , JsonRequestBehavior.AllowGet);
        }

 

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小钟要学习!!!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值