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

Posted yacbo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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="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的主要内容,如果未能解决你的问题,请参考以下文章

记录一次BUG修复-Entity Framwork SaveChanges()失效

Entity Framwork(EF) 7——在Controller内获取指定字段的值

EF(Entity Framwork)结构

Entity Framwork(EF) 7——在现在数据库的甚而上开发MVC 新项目

restful-framwork续集3

EF到底是什么?