ASP.Net MVC学习 Code-First Demo
2017-10-19 00:00
465 查看
为了学习EF Code-First 方法,我们首先需要添加引用,EntityFramework.dll,点击下载
1.新建MVC web,我们需要在Web.config文件中写好数据库连接字符串 。
2.这个数据库中,有表guests,字段属性name,phone。
首先先看下面的代码,新建类 mode
按照Code-First规则,一旦运行此程序,就会生成表名为guests、 表里面有name,phone三个字段,其中name是guests表的主键。如果你不希望此数据表名为guests,可以通过在类名前加上[Table("guestsA")],则生成的数据表名为guestsA。
3.这里,我们写了一个类 mytestDbContext ,继承类DBContext。
这里,我们写了一个类 mytestDbContext ,继承类DBContext。
其中 DbContext : IDisposable, IObjectContextAdapter
接口 IObjectContextAdapter的原型
public interface IObjectContextAdapter
{
System.Data.Objects.ObjectContext ObjectContext { get; }
}
因此,ObjectContext是师祖。
这里需要注意一下,name="XXX"的名称要与连接数据库的名称一样,否则可能会有小问题出现。
“this.Database.CreateIfNotExists()”表示如果如果不存此数据库,就去创建数据库。
4.在下面,我们就会用到这些方法去操作数据库的内容。
(1)获取数据
(2)添加数据
(3)修改数据
(4)删除数据
OK,Code-First例子这里计算讲完了。
1.新建MVC web,我们需要在Web.config文件中写好数据库连接字符串 。
<connectionStrings> <add name="Test" connectionString="Data Source=YFZX11179-PC;Initial Catalog=Test;Integrated Security=True;" providerName="System.Data.SqlClient" /> </connectionStrings> |
首先先看下面的代码,新建类 mode
public class guests { [Key] public string name { get; set; } public string phone { get; set; } }
按照Code-First规则,一旦运行此程序,就会生成表名为guests、 表里面有name,phone三个字段,其中name是guests表的主键。如果你不希望此数据表名为guests,可以通过在类名前加上[Table("guestsA")],则生成的数据表名为guestsA。
3.这里,我们写了一个类 mytestDbContext ,继承类DBContext。
using mytest2.Models; using System; using System.Collections.Generic; using System.Data.Entity; using System.Linq; using System.Web; namespace mytest2.DBContext { public class mytestContext:DbContext { public mytestContext():base("name=Test") { } public IDbSet<guests> guests { get; set; } } }
这里,我们写了一个类 mytestDbContext ,继承类DBContext。
其中 DbContext : IDisposable, IObjectContextAdapter
接口 IObjectContextAdapter的原型
public interface IObjectContextAdapter
{
System.Data.Objects.ObjectContext ObjectContext { get; }
}
因此,ObjectContext是师祖。
这里需要注意一下,name="XXX"的名称要与连接数据库的名称一样,否则可能会有小问题出现。
“this.Database.CreateIfNotExists()”表示如果如果不存此数据库,就去创建数据库。
4.在下面,我们就会用到这些方法去操作数据库的内容。
(1)获取数据
mytestContext db = new mytestContext(); guests guest = db.guests.FirstOrDefault(); 直接使用sql //直接使用Sql 语句操作数据库 db.Database.ExecuteSqlCommand("select top(1) * from guests");
(2)添加数据
var guests = new guests () { name= "guodaqin", phone= "135XXXXXXXX" }; db.guests .Add(guests ); db.SaveChanges(); //直接使用Sql 语句操作数据库 db.Database.ExecuteSqlCommand("insert into guests (name,phone) values({0},{1})", new object[] { "guodaqin", "135XXXXXXXX" });
(3)修改数据
guests guest= db.guests .Find(name); guest.name= "wahah"; db.Entry(guest).State = EntityState.Modified; db.SaveChanges();
(4)删除数据
guests guest= db.guests .Find(3); if (guest!= null) { db.Entry(guest).State = EntityState.Deleted; db.SaveChanges(); }
OK,Code-First例子这里计算讲完了。
相关文章推荐
- [ASP.NET MVC]Entity Framework框架之CodeFirst模式学习笔记
- 学习ASP.NET MVC(八)——“Code First Migrations ”工具
- ASP.NET MVC 学习6、学习使用Code First Migrations功能,把Model的更新同步到DB中
- asp.net mvc Code First模式下迁移更新数据库
- asp.net mvc code first实体关系一对一、一对多、多对多的设置方法
- asp.net MVC code first Migrations : Model 同步到DB中
- Asp.Net MVC 常用开发方式之EF Code First
- 【原】ASP.Net MVC极速开发:使用MVCScaffolding + EntityFramework CodeFirst
- ASP.NET MVC Code First要点
- Code-First Migration and Extending Identity Accounts in ASP.NET MVC 5 and Visual Studio 2013
- 创建ASP.NET Core MVC应用程序(3)-基于Entity Framework Core(Code First)创建MySQL数据库表
- 关于在ASP.NET MVC 中使用EF的Code First的方式来读取数据库时的Validation failed for one or more entities. See 'EntityValidationErrors' property for more details.
- Asp.net MVC + MySQl + EF Code First 不能自动生成数据库
- IoC容器Autofac(4) - Autofact + Asp.net MVC + EF Code First(附源码)
- Asp.Net MVC 常用开发方式之EF Code First
- asp.net MVC EFCodeFirst 生成数据库注意事项
- 使用EF Code First搭建一个简易ASP.NET MVC网站,允许数据库迁移
- Asp.Net MVC 常用开发方式之EF Code First
- 创建ASP.NET Core MVC应用程序(3)-基于Entity Framework Core(Code First)创建MySQL数据库表