您的位置:首页 > 编程语言 > ASP

ASP.Net MVC学习 Code-First Demo

2017-10-19 00:00 465 查看
为了学习EF Code-First 方法,我们首先需要添加引用,EntityFramework.dll,点击下载

  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>

2.这个数据库中,有表guests,字段属性name,phone。

  首先先看下面的代码,新建类 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例子这里计算讲完了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  MVC Code-Firs