MVC5学习小记(3)--数据库操作
来源:互联网 发布:我的世界,java.net 编辑:程序博客网 时间:2024/06/05 15:36
首先MVC怎么对数据库进行操作的呢,这里用到了微软的神器,EF6
EF4.1有三种方式来进行数据操作及持久化。分别是Database-First,Model-First,Code-first:
1.Database First是基于已存在的数据库,利用某些工具(如Vs提供的EF设计器)创建实体类,数据库对象与实体类的匹配关系等,你也可以手动修改这些自动生成的代码及匹配文件。
2 .Model First 这种方式是先利用某些工具(如VS的EF设计器)设计出实体数据模型及他们之间的关系,然后再根据这些实体、关系去生成数据库对象及相关代码文件。
3.Code First 这种方式需要先写一些代码,如实体对象,数据关系等,然后根据已有的代码描述,自动创建数据对象,这种方式在前一篇文章已经简单说过了。但其实这种方法与Model First是非常类似的。我们自己写的代码,其实就是用代码表示实体模型,而Model First是用可视化的方式描述了实体模型。
我这里用Code first:
分别引用Mysql+EF。然后设置model
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.ComponentModel.DataAnnotations;namespace test1.Models{ public class User { public String Id { get;set;} [Required] public String Name{get;set;} [Required] public String PassWord { get; set; } [Required] public int rolt { get; set; } }}model上下文:
using System;using System.Collections.Generic;using System.Data.Entity;using System.Linq;using System.Web;namespace test1.Models{ public class UserContext : DbContext { public UserContext() : base("name=UserContext") { } public System.Data.Entity.DbSet<test1.Models.User> Users { get; set; } }}
web.config操作
<connectionStrings> <add name="UserContext" connectionString="Data Source=localhost;port=3306;Initial Catalog=mvcweb;user id=root;password=root;"
providerName="MySql.Data.MySqlClient"/> </connectionStrings>添加控制器
然后,运行,果断不行,因为这里没有创建数据库,也没有初始化,并且我初始化还出现各种问题,百度无果后,直接迁移。
1.Enable-Migrations
2.add-migration Initial
3.Update-Database
然后数据库就有表了。可能在上步会出现问题。
参考 http://blog.csdn.net/tangolivesky/article/details/46507723
阅读全文
0 0
- MVC5学习小记(3)--数据库操作
- MVC5学习小记(1)
- MVC5学习小记(2)
- MVC5学习小记(4):自定义授权过滤器
- MVC5学习小记(5) pagedlist分页+EF
- sqlite3数据库操作小记
- 【第一篇】ASP.NET MVC快速入门之数据库操作(MVC5+EF6)
- Mysql数据库学习小记(一)
- 数据库学习小记
- ADO.NET数据库操作小记
- ADO.NET数据库操作小记
- Python操作MySQL数据库小记
- ORACLE学习小记(3)
- MVC5学习系列——详解编辑操作
- 学习小记:js操作table
- ThinkPHP学习小记(CURD操作)
- 数据库性能优化学习小记
- 数据库操作常识小记 20140323 补充中。。
- mysql exists和in效率问题
- Android 中关于微信分享功能 Android6.0手机SD卡的读写操作。
- react使用hashHistory实现类似get方法带参数跳转
- 创建so文件并加载
- css学习
- MVC5学习小记(3)--数据库操作
- ubuntu vi, vim 编辑器的使用
- 在try,catch,finally中return,throw覆盖的问题总结
- linux中fork()函数详解(原创!!实例讲解)
- eclipse代码自动补全
- 数学之路(2)-数据分析-R基础(1)
- Codeforces 219D Choosing Capital for Treeland DP(Tree)
- 数组做为参数传入Oracle存储过程操作数据库
- 让时间处理简单化 【第三方扩展类库org.apache.commons.lang.time】