開發環境
- Visual Studio 2010 SP1
- SQL Server Compact 4.0
演練步驟
- 打開Visual Studio;
- 新建Console應用程序Known.EFDemo;
- 創建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; } }
- 右擊項目->管理NuGet程序包,搜索Entity Framework並安裝;或使用程序包管理器控制台運行命令Install-Package EntityFramework;
- 創建BlogContext;
public class BlogContext : DbContext { public DbSet<Blog> Blogs { get; set; } }
- 修改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>
- 修改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("保存成功!"); }
- 當模型改變時,可以使用命令自動遷移數據庫,配置命令:Enable-Migrations –EnableAutomaticMigrations ;更新命令:Update-Database –Verbose 。