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


    开发环境

    • Visual Studio 2010 SP1
    • SQL Server Compact 4.0

    演练步骤

    1. 打开Visual Studio;
    2. 新建Console应用程序Known.EFDemo;
    3. 创建Blog模型;
      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;
      public class BlogContext : DbContext
      {
          public DbSet<Blog> Blogs { get; set; }
      }
      
    6. 修改App.config文件,配置ConnectionString和SQL Server Compact数据提供者工厂;
      <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并运行,成功后,可以在服务器资源管理器中查看自动生成的表结构及数据。
      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 。
  • 相关阅读:
    .Net下的MSMQ(微软消息队列)的同步异步调用
    [收藏]JS获取网页中HTML元素的几种方法分析
    在FireFox下设为首页的解决方法
    如何创建和使用Web Service代理类
    [收藏]61条面向对象设计的经验原则
    [总结]DotNet中用到的加密算法总结
    如何把用SQL语句int型整数转换成二进制数
    彻底杜绝PHP的session,cookie,Cannot modify header错误
    MSN总是报80048820的错误,网上搜的一些资料解决不了,我找到了真正解决办法!
    [收藏]MD5加密的javascript实现
  • 原文地址:https://www.cnblogs.com/known/p/3050432.html
Copyright © 2020-2023  润新知