MVC ef 连接数据库
1.创建数据库
2.创建表
- <pre name="code" class="sql">CREATE TABLE [dbo].[Student](
- [ID] [INT] IDENTITY(1,1) NOT NULL,
- [Name] [NVARCHAR](30) NULL,
- [StudentNo] [NVARCHAR](20) NULL,
- [Age] [INT] NULL,
- [Sex] [NVARCHAR](2) NULL,
- [Description] [NVARCHAR](100) NULL,
- [classID] [INT] NULL
- ) ON [PRIMARY]
3.安装EntityFramework
点击“References”,鼠标右键选择:“Manage NuGet Packages...”。
在线搜索“EntityFramework”,下载安装
4.添加数据库连接字符串
双击“Web.config”
添加连接字符串:
- <connectionStrings>
- <add name="DataConnection" connectionString="server=127.0.0.1;database=Test;uid=sa;pwd=123456" providerName="System.Data.SqlClient"/>
- </connectionStrings>
5.在Models目录下,添加实体上下文类StuInfoDBContext
注意添加EF应用
DataConnection为连接字符串的名称
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Web;
- using System.Data.Entity;
- namespace Iweb.Areas.SiteInfo.Models
- {
- public class StuInfoDBContext:DbContext
- {
- public StuInfoDBContext()
- : base("DataConnection")
- {
- }
- }
- }
6.在Models目录下,添加实体模型类Student
注意和数据库中表名保持一致,否则EF会新创建一张实体模型类对应的表
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Web;
- namespace Iweb.Areas.SiteInfo.Models
- {
- public class Student
- {
- public int ID { get; set; }
- public string Name { get; set; }
- public string StudentNo { get; set; }
- public int Age { get; set; }
- public string Sex { get; set; }
- public string Description { get; set; }
- public int classID { get; set; }
- }
- }
7.这样程序就和数据库连接起来了,程序中的实体模型和数据库中的表一一对应
8.测试
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Web;
- using System.Web.Mvc;
- using System.Data;
- using Iweb.Areas.SiteInfo.Models;
- namespace Iweb.Areas.SiteInfo.Controllers
- {
- public class SiteInfoController : Controller
- {
- //
- // GET: /SiteInfo/SiteInfo/
- public ActionResult Index()
- {
- StuInfoDBContext stuContext = new StuInfoDBContext();
- string sql = @"INSERT INTO dbo.Student
- ( Name ,
- StudentNo ,
- Age ,
- Sex ,
- Description ,
- classID
- )
- VALUES ( N'abc' , -- Name - nvarchar(30)
- N'1010322119' , -- StudentNo - nvarchar(20)
- 24 , -- Age - int
- N'男' , -- Sex - nvarchar(2)
- N'健身,爬山' , -- Description - nvarchar(100)
- 2 -- classID - int
- )";
- stuContext.Database.ExecuteSqlCommand(sql);
- List<Student> stuLis= stuContext.Database.SqlQuery<Student>("SELECT * FROM dbo.Student").ToList();
- return View();
- }
- }
- }
原创“http://blog.csdn.net/tkdwave520/article/details/44629903”
MVC ef 连接数据库的更多相关文章
- ASP.NET MVC EF 连接数据库(三)-----Code First
Code first (VS2015 ,Sql Server2014) 新建MVC项目 实例: 在数据库中会有个新建的数据库和表 源码地址:https://note.youdao.com/ynotes ...
- ASP.NET MVC EF 连接数据库(一)-----Database First
database first (VS2015 ,Sql Server2014) 1,新建MVC项目 实例: 源码代码:http://note.youdao.com/noteshare?id=1fd ...
- ASP.NET MVC EF 连接数据库(二)-----Model First
Model first (VS2015 ,Sql Server2014) 新建MVC项目 右键product ,新增标量属性(数据库表中的字段) Ctrl + S 保存页面,右键“根据模型 ...
- MVC MVC+EF快速搭建
MVC+EF快速搭建 一.准备: vs2017(个人用的) 二.开始MVC+EF之旅吧: 1.创建mvc项目: Web-ASP.NET Web Application(.NET Framework) ...
- C# MVC+EF—结构搭建
近期做了MVC+EF的项目,现在项目完结了,抽个时间写个小DOM总结一下,顺便加深理解. 一.新建MVC项目,结构是这样的
- 国产化之路-统信UOS + Nginx + Asp.Net MVC + EF Core 3.1 + 达梦DM8实现简单增删改查操作
专题目录 国产化之路-统信UOS操作系统安装 国产化之路-国产操作系统安装.net core 3.1 sdk 国产化之路-安装WEB服务器 国产化之路-安装达梦DM8数据库 国产化之路-统信UOS + ...
- ASP.NET MVC+EF框架+EasyUI实现权限管理系列(24)-权限组的设计和实现(附源码)(终结)
ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇) (1):框架搭建 (2):数据库访问层的设计Demo (3):面向接口编程 (4 ):业务逻辑层的封装 ...
- ASP.NET MVC+EF框架+EasyUI实现权限管理系列(23)-设置角色遗留问题和为权限设置角色以及EasyUI Tabs的使用
ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇) (1):框架搭建 (2):数据库访问层的设计Demo (3):面向接口编程 (4 ):业务逻辑层的封装 ...
- ASP.NET MVC+EF框架+EasyUI实现权限管理系列(22)-为用户设置角色
ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇) (1):框架搭建 (2):数据库访问层的设计Demo (3):面向接口编程 (4 ):业务逻辑层的封装 ...
随机推荐
- Python: PS 滤镜--旋涡特效
本文用Python 实现 PS 滤镜的旋涡特效,具体的算法原理和效果可以参考之前的博客: http://blog.csdn.net/matrix_space/article/details/42215 ...
- 使用openssl的aes各种加密算法
#include <stdio.h> #include <string.h> #include <sys/types.h> #include <sys/sta ...
- 记录ubuntu16.04版本安装过程中遇到的问题
记录ubuntu16.04版本安装和使用过程中遇到的些问题,方便以后查看,主要内容有: 1. ubuntu源替换 2. windows与vmware ubuntu文件夹共享 3. putty连接ubu ...
- Batch Normalization层
Batch Normalization的加速作用体现在两个方面:一是归一化了每层和每维度的scale,所以可以整体使用一个较高的学习率,而不必像以前那样迁就小scale的维度:二是归一化后使得更多的权 ...
- 小程序wx:key中的关键字*this
“保留关键字 *this 代表在 for 循环中的 item 本身,这种表示需要 item 本身是一个唯一的字符串或者数字,如果是对象则不可以 data:{ array:[1,2,3,4,5], ob ...
- 一种C#开发ActiveX的思路
由于某些原因,不得不在C#下开发ActiveX插件,而这会带来很多问题,主要有无法在线安装.无法自动更新.由于本人水平有些,这两个问题不一定是这样,如果有大侠知道C#下开发ActiveX插件可实现在线 ...
- having,groub by 结合聚合函数的用法解析
聚合函数有:sum , count, avg, max等等: where无法与聚合函数一起使用,所以在sql语句中加上having子句来筛选查询结果: 上面的sql语句是错的,正确如下: SELECT ...
- JAVA 数组的常用操作
目录: 声明数组: 初始化数组: 查看数组长度: 遍历数组: int数组转成string数组: 从array中创建arraylist: 数组中是否包含某一个值: 将数组转成set集合: 将数组转成li ...
- 1.10-1.11 hive交互式命令讲解
一.hive 交互式命令参数 #帮助 [root@hadoop-senior hive-0.13.1]# bin/hive -h Missing argument for option: h usag ...
- Python 之IO模型
阻塞IO模型:以前写的套接字通信都是阻塞型的.通过并发提高效率 非阻塞IO模型: from socket import * # 并不推荐使用,一是消耗cpu资源,二是会响应延迟 server = so ...