使用Entity Framework CodeFirst模式创建新数据库

开发环境

  • Visual Studio 2010 SP1
  • SQL Server Compact 4.0

演练步骤

  1. 打开Visual Studio;
  2. 新建Console应用程序Known.EFDemo;
  3. 创建Blog模型;
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    public  class  Blog
    {
         public  int  Id { get ; set ; }
         public  string  Name { get ; set ; }
         public  List<Post> Posts { get ; set ; }
    }
     
    public  class  Post
    {
         public  int  Id { get ; set ; }
         public  string  Title { get ; set ; }
         public  string  Content { get ; set ; }
    }
  4. 右击项目->管理NuGet程序包,搜索Entity Framework并安装;或使用程序包管理器控制台运行命令Install-Package EntityFramework
  5. 创建BlogContext;
    1
    2
    3
    4
    public  class  BlogContext : DbContext
    {
         public  DbSet<Blog> Blogs { get ; set ; }
    }
  6. 修改App.config文件,配置ConnectionString和SQL Server Compact数据提供者工厂;
    1
    2
    3
    4
    5
    6
    7
    8
    9
    < connectionStrings >
         < add  name="BlogContext" connectionString="Data Source=|DataDirectory|Blog.sdf" providerName="System.Data.SqlServerCe.4.0" />
    </ connectionStrings >
    < system.data >
         < DbProviderFactories >
             < remove  invariant="System.Data.SqlServerCe.4.0" />
             < add  name="Microsoft SQL Server Compact Data Provider 4.0" invariant="System.Data.SqlServerCe.4.0" description=".NET Framework Data Provider for Microsoft SQL Server Compact" type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=4.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
         </ DbProviderFactories >
    </ system.data >
  7. 修改Program并运行,成功后,可以在服务器资源管理器中查看自动生成的表结构及数据。
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    using  ( var  context = new  BlogContext())
    {
         Console.WriteLine( "请输入博客名称:" );
         var  name = Console.ReadLine();
         var  blog = new  Blog { Name = name };
         blog.Posts = new  List<Post>();
     
         Console.WriteLine( "请输入随笔标题:" );
         var  title = Console.ReadLine();
         Console.WriteLine( "请输入随笔内容:" );
         var  content = Console.ReadLine();
         blog.Posts.Add( new  Post { Title = title, Content = content });
     
         context.Blogs.Add(blog);
         context.SaveChanges();
     
         Console.WriteLine( "保存成功!" );
    }
  8. 当模型改变时,可以使用命令自动迁移数据库,配置命令:Enable-Migrations –EnableAutomaticMigrations ;更新命令:Update-Database –Verbose 。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值