一、 原理分析
Database First先设计数据库后设计程序,程序高度依赖于数据库中的表。EF的Code First是可以自动添加数据库到SQL SERVER。
实现Code First的关键是要定义一个继承System.Data.Entity的DbContext的类,它将数据模型映射到数据库中。
二、操作步骤
2.1 创建工程
添加EntityFramework引用(如果工程默认没有添加时)。
2.2 在Models添加Blog.cs
- using System.Data.Entity;
- namespace DalyBlog.Models
- {
- public class Blog
- {
- public int BlogId { get; set; }
- public string Title { get; set; }
- public DateTime CreateData { get; set; }
- }
- public class BlogDbContext : DbContext
- {
- public DbSet<Blog> Blogs { get; set; }
- }
- }
添加后编译一下确保Model添加成功。
2.3 添加HomeController
使用上面的Blog和BlogDbContext。
此时缺少System.Data.EntityState的引用,要添加!
2.4 在工程最外部的Web.config添加连接数据的<connectionStrings>
- <connectionStrings>
- <add name="BlogDbContext" connectionString="Server=localhost\SQL2008R2;Database=DalyBlogDB;uid=sa;pwd='sql2008'" providerName="System.Data.SqlClient" />
- </connectionStrings>
2.5 编译、运行工程
点击[Create New],报错:
解决方法是进入Views\Home\Create.cshtml中将上面三行屏蔽!
再将运行工程:
创建成功!!!!
打开SQL SERVER STUDIO进行检查:
案例测试成功!!
源代码:
参考文献:
http://www.cnblogs.com/Wayou/archive/2012/09/20/EF_CodeFirst.html