Chinaunix首页 | 论坛 | 博客
  • 博客访问: 13030473
  • 博文数量: 1293
  • 博客积分: 13501
  • 博客等级: 上将
  • 技术积分: 17974
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-08 18:11
文章分类

全部博文(1293)

文章存档

2019年(1)

2018年(1)

2016年(118)

2015年(257)

2014年(128)

2013年(222)

2012年(229)

2011年(337)

分类: C#/.net

2015-08-12 20:38:17

一、 原理分析

    Database First先设计数据库后设计程序,程序高度依赖于数据库中的表。EF的Code First是可以自动添加数据库到SQL SERVER。

    实现Code First的关键是要定义一个继承System.Data.Entity的DbContext的类,它将数据模型映射到数据库中。

二、操作步骤

2.1 创建工程

image

image

    添加EntityFramework引用(如果工程默认没有添加时)。

image

 

2.2 在Models添加Blog.cs


  1. using System.Data.Entity;
  2. namespace DalyBlog.Models
  3. {
  4.     public class Blog
  5.     {
  6.         public int BlogId { get; set; }
  7.         public string Title { get; set; }
  8.         public DateTime CreateData { get; set; }
  9.     }
  10.     public class BlogDbContext : DbContext
  11.     {
  12.         public DbSet<Blog> Blogs { get; set; }
  13.     }
  14. }


添加后编译一下确保Model添加成功。

 

2.3 添加HomeController

使用上面的Blog和BlogDbContext。

image

 

此时缺少System.Data.EntityState的引用,要添加!

image

image

 

2.4 在工程最外部的Web.config添加连接数据的<connectionStrings>

image


  1. <connectionStrings>
  2.   <add name="BlogDbContext" connectionString="Server=localhost\SQL2008R2;Database=DalyBlogDB;uid=sa;pwd='sql2008'" providerName="System.Data.SqlClient" />
  3. </connectionStrings>



2.5 编译、运行工程

image

点击[Create New],报错:

image

解决方法是进入Views\Home\Create.cshtml中将上面三行屏蔽!

image

 

再将运行工程:

image

image

创建成功!!!!

 

打开SQL SERVER STUDIO进行检查:

image

 

案例测试成功!!

 

源代码

 DalyBlog.zip

 

参考文献:

http://www.cnblogs.com/Wayou/archive/2012/09/20/EF_CodeFirst.html

阅读(2737) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~