一步一步CodeFirst(一)

1 环境

         VS2013

         MySql

2 使用VS2013新建一个Console工程CodeFirstSample,并使用Nuget安装EntityFramework库及Mysql.Data.Entity相关库。

Install-package EntityFramework –Version 5.0
Install-package Mysql.Data.Entity

3 配置App.config中的连接字符串

<connectionStrings>
    <add name="BloggingContext"
         connectionString="Data Source=localhost;port=3306;Initial Catalog=dbCodeFirstSample;user id=root;password=111111"
         providerName="MySql.Data.MySqlClient"/>
  </connectionStrings>

4 新建Model及DbContext子类。

Models

public class Blog
    {
        public int BlogId { get; set; }
        public string Name { get; set; }
        public string Url { get; set; }
        public virtual List<Post> Posts { get; set; }
    }

    public class Post
    {
        public int PostId { get; set; }
        public string Title { get; set; }

        public int BlogId { get; set; }
        public virtual Blog Blog { get; set; }
    }

DbContext子类BloggingContext,用来对存储的Blogs及Posts进行CRUD操作。

[DbConfigurationType(typeof(MySqlEFConfiguration))]
    public class BloggingContext : DbContext
    {
        public DbSet<Blog> Blogs { get; set; }
        public DbSet<Post> Posts { get; set; }
    }

5 对Console中的Main方法添加测试类,查看是否成功生成相关数据库表。

static void Main(string[] args)
        {
            using (var db = new BloggingContext())
            {
                // Create and save a new Blog 
                Console.Write("Enter a name for a new Blog: ");
                var name = Console.ReadLine();

                var blog = new Blog { Name = name };
                db.Blogs.Add(blog);
                db.SaveChanges();

                // Display all Blogs from the database 
                var query = from b in db.Blogs
                            orderby b.Name
                            select b;

                Console.WriteLine("All blogs in the database:");
                foreach (var item in query)
                {
                    Console.WriteLine(item.Name);
                }

                Console.WriteLine("Press any key to exit...");
                Console.ReadKey();
            } 
        }

6 按F5运行,并且数据库中已经建立了相应的数据表

posted @ 2015-05-28 10:27  magic249  阅读(142)  评论(0编辑  收藏  举报