1.使用Entity Framwork框架常用的技术手段Code First 和Reverse Engineer Code First
Posted on 2016-09-30 11:20 yacbo 阅读(305) 评论(0) 编辑 收藏 举报提示:VS版本2013, Entity Framwork版本5.0.0,Mysql数据库
使用Entity FrameWork的好处就不多说,直接上手如何使用。两种形式:1.将代码映射到数据库实体,使用的是Code First技术。2.将数据库实体转成代码,使用的是Reverse Engineer Code Fist技术。
一.Code First技术
1.建好项目,并加入一个名为CodeFirstDemo控制台应用程序项目。
2.配置。工具>>库程序包管理>>管理解决方案的NUGet程序包__安装EntityFramework.
这样在CodeFirstDemo项目中就自动添加了EntityFramwork的引用。
接下来就是App.config的设置,重点就是连哪个数据库,创建数据库的名称。
默认是这样:
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
<parameters>
<parameter value="v11.0"/>
</parameters>
</defaultConnectionFactory>
</entityFramework>
可以删除,加入
<connectionStrings>
<add name="BookContext" connectionString="server=localhost;user id=user;password=******;persistsecurityinfo=True;database=Book"
providerName="MySql.Data.MySqlClient" />
</connectionStrings>
可以看到,我们是在MySql中创建的名为Book的数据库。
3.开始写代码
namespace CodeFirstDemo { public class Book { public string Title { get; set; } public string Author { get; set; } [Key] public int Code { get; set; } } public class BookContext : DbContext { public DbSet<Book> Books { get; set; } } class Program { static void Main(string[] args) { using (var db = new BookContext()) { Book book1 = new Book{ Title = "编程语言", Author ="李昊"}; db.Books.Add(book1); Book book2 = new Book{ Title = "C#语言", Author = "李大昊"}; db.Books.Add(book2); db.SaveChanges(); var queryResult = from b in db.Books orderby b.Title select b; foreach (var item in queryResult) { Console.WriteLine(item.Title+"..."+item.Author); } Console.ReadKey(); } } } }
4.可以查看数据库中是否存在这样的数据 方法有两个。第一个借助MySql查看工具Navicat for MySql。第二种工具>>连接数据库>>连接MySql中的book库,通过左边服务器资源管理器来查看。