.NetCore2.0下使用EF CodeFirst创建数据库
本文所使用的VS版本:VS2017 15.3.0
首先新建一个.net core项目 取名NetCoreTask
使用模型视图控制器方式
新建Model层
在Model层下新建一个user实体类
1 namespace XX.Model 2 { 3 public class tb_User 4 { 5 public string ID { get; set; } 6 public string UserName { get; set; } 7 public DateTime CreateTime { get; set; } 8 } 9 }
新建一个Service层 在下面新建一个dbContext类
1 namespace XX.Service 2 { 3 public class XDbContext : DbContext 4 { 5 public XDbContext(DbContextOptions<XDbContext> options) : base(options) 6 { 7 8 } 9 public DbSet<tb_User> UserExtend { get; set; } 10 protected override void OnModelCreating(ModelBuilder modelBuilder) 11 { 12 base.OnModelCreating(modelBuilder); 13 } 14 } 15 }
在Web项目下的appsettings.json文件中添加数据库连接字符串,添加后如下:
1 { 2 "ConnectionStrings": { 3 "XConnection": "Server=127.0.0.1;Database=XCoreDb;User ID=sa;Password=123456" 4 }, 5 "Logging": { 6 "IncludeScopes": false, 7 "LogLevel": { 8 "Default": "Warning" 9 } 10 } 11 }
接下来修改 Web项目下的Startup中的ConfigureServices方法,修改后如下:
1 public void ConfigureServices(IServiceCollection services) 2 { 3 services.AddDbContext<XDbContext>(options => 4 options.UseSqlServer(Configuration.GetConnectionString("XConnection"))); 5 services.AddMvc(); 6 }
配置工作已经完成,接下来我们使用控制台命令生成数据库 FirstMigration这个名字是随便起的(定位在Service项目下)
PM> Add-Migration FirstMigration
果不其然报错了
这是因为我们的Web项目和Service没有什么关系,添加Web项目对Service项目的引用后继续
成功了!
我们发现Service项目下多了一个文件夹
但是我们发现在Designer.cs这个文件中有一个错误
这是因为我们没有添加 Microsoft.EntityFrameworkCore.SqlServer 这个引用
添加后,继续执行Update-Database -Verbose 命令
1 PM> Update-Database -Verbose
出现这个就是成功了。
数据库创建成功!
最后的项目结构图:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?