首页 > 代码库 > 1.使用Entity Framwork框架常用的技术手段Code First 和Reverse Engineer Code First

1.使用Entity Framwork框架常用的技术手段Code First 和Reverse Engineer Code First

提示: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="http://www.mamicode.com/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库,通过左边服务器资源管理器来查看。

技术分享

 

1.使用Entity Framwork框架常用的技术手段Code First 和Reverse Engineer Code First