我用的是vs2017,需要下載.net core 2.0 sdk。
.net core 下載地址:點我下載
1.在Visual Studio之中創建一個.net core的控制台項目
2.修改csproj項目文件,注意添加 DotNetCliToolReference 節點,此節點為添加ef工具,不添加此節點無法使用dotnet ef系列命令
<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>Exe</OutputType> <TargetFramework>netcoreapp2.0</TargetFramework> </PropertyGroup> <ItemGroup> <PackageReference Include="Microsoft.EntityFrameworkCore" Version="2.0.0" /> <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="2.0.0" /> <PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="2.0.0" /> <PackageReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.0" /> </ItemGroup> <ItemGroup> <DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.0" /> </ItemGroup> </Project>
3.這是我的Programs.cs文件,循環輸入字符串添加到數據庫表中
using System; using Microsoft.EntityFrameworkCore; using Microsoft.Data.Sqlite; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using System.Linq; namespace EfCore2Learn { class User { [Key, DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)] public int Id { set; get; } [MaxLength(50), Required] public string Name { set; get; } } class MyContext : DbContext { public DbSet<User> Set_User { set; get; } protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { string cntString = "Data Source=MyTestDb.db"; optionsBuilder.UseSqlite(cntString); } } class APP { public APP() { string inputStr = ""; inputStr = Console.ReadLine(); while (inputStr != "quit") { using (MyContext Db = new MyContext()) { User iUser = new User(); iUser.Name = inputStr; Db.Set_User.Add(iUser); Db.SaveChanges(); } inputStr = Console.ReadLine(); } } } class Program { static void Main(string[] args) { APP App = new APP(); } } }
4.在項目目錄下打開cmd(我這里是PowerShell)分別輸入以下命令
dotnet restore
dotnet dotnet ef migrations add InitialCreate
dotnet ef database update
dotnet build
dotnet run
成功了,其實很簡單,目前我配置好了SqlServer和Sqlite,但是MySql沒有配置好,折騰了一天
這里是項目文件下載地址:點我下載項目文件