.NetCore项目使用EF Core操作SQL Server
Entity Framework Core (EF Core) 已成为 .NET 开发中数据访问的基石工具为开发人员提供了强大而多功能的解决方案。随着 .NET 8 和 C# 10 中引入的改进开发人员现在可以使用更丰富的功能和增强功能从而进一步增强了 EF Core 的功能。EF有三种开发模式CodeFirst、ModelFirst、DbFirst这三种根据业务需求及个人偏好用的相对比较多的是DbFirst和CodeFirst现在EF Core推荐使用CodeFirst的方式进行项目开发当然也可以通过反向工程的方式以数据库设计为先。以VS2022 和 .Net8.0 做一个 .netcore webapi为例EF采用 DbFisrt开发模式第1步 使用NuGet包管理器安装以下三个依赖项Microsoft.EntityFrameworkCore.ToolsEntityFrameworkCore.sqlserverMicrosoft.EntityFrameworkCore.Design备注本项目使用的是VS2022, .Net8.0,所以下载EF Core时选择8.0.0版本第2步在 appsettings.json 中加入数据库连接字符串ConnectionStrings: { DBConnection: Server192.168.XXX.XXX;DatabaseXXXXX;User IdXXX;PasswordXXXXXX;TrustServerCertificateTrue }第3步在 .csproj 项目文件中加入控制全球化的配置第4步整理命令语名为生成实例类作准备完整命令如下Scaffold-DbContext -Connection Server192.168.XX.XX;DatabaseXXX;User IdXXX;PasswordXXXXXX;TrustServerCertificateTrue -Provider Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -ContextDir Context -Context DBST -UseDatabaseNames -NoOnConfiguring参数详解参数详解参数作用补充说明Scaffold-DbContextEF Core 的反向工程采用DbFirst 模式-Connection数据库连接字符串包含服务器地址、数据库名、登录账号、密码TrustServerCertificateTrue用于跳过 SSL 证书验证开发环境常用生产环境需谨慎-Provider指定 EF Core 数据库提供程序这里用Microsoft.EntityFrameworkCore.SqlServer对应 SQL Server。如果是 MySQL 则用Pomelo.EntityFrameworkCore.MySql等-OutputDir指定生成的实体类文件的输出目录相对于项目根目录会在项目中创建 / 使用Models文件夹存放生成的数据库表对应的实体类-ContextDir指定生成的 **DbContext类文件 ** 的输出目录相对于项目根目录会在项目中创建 / 使用Context文件夹专门放数据库上下文类DBST.cs-Context指定生成的DbContext类的名称生成的上下文类名是DBST替代默认的命名可根据需要变更UseDatabaseNames强制生成的实体类、属性名称与数据库表、列名完全一致默认 EF Core 会将数据库名如t_student_info转成 Pascal 命名TStudentInfo加此参数后保持原名t_student_info对应类名t_student_info-NoOnConfiguring不生成DbContext中的OnConfiguring方法通常我们会通过依赖注入DI配置数据库连接而非硬编码在OnConfiguring加此参数后生成的DbContext不会包含自己写死连接字符串的逻辑更符合 “配置与代码分离” 的最佳实践第5步执行命令生成实体类和上下文类点击 工具 -- NuGet包管理器 ---程序包管理控制台 把第4步整理好的命令得到到控制台生成成功后项目的架构中会多出Context 和 Mideks文件夹及相应的类需要指出的是如果再次执行的时候需要在后面加一个 -Force 意思是EF Core 为了避免意外覆盖你的现有文件而默认采取不覆盖的策略需要添加 -Force 参数来实现强制覆盖。第6步在Program.cs文件中将 DBST 类注册为服务。使其可通过依赖注入在控制器、服务中使用说明options.UseSqlServer(...) 作用 数据库提供商指定使用 SQL Server 数据库。若用其他数据库如 MySQL需替换为对应方法options.UseMySql(...) // MySQLoptions.UseNpgsql(...) // PostgreSQL

相关新闻

GPT-2 输出格式化完整指南:用 3 种导出格式告别终端复制粘贴

GPT-2 输出格式化完整指南:用 3 种导出格式告别终端复制粘贴

GPT-2 输出格式化完整指南:用 3 种导出格式告别终端复制粘贴 【免费下载链接】gpt-2 Code for the paper "Language Models are Unsupervised Multitask Learners" 项目地址: https://gitcode.com/GitHub_Trending/gp/gpt-2 GPT-2 是 OpenAI 开源的…

2026/8/14 12:27:18 阅读更多 →
字幕制作从入门到精通:SubtitleEdit 免费字幕编辑器使用指南

字幕制作从入门到精通:SubtitleEdit 免费字幕编辑器使用指南

字幕制作从入门到精通:SubtitleEdit 免费字幕编辑器使用指南 【免费下载链接】subtitleedit the subtitle editor :) 项目地址: https://gitcode.com/gh_mirrors/su/subtitleedit 做字幕最让人崩溃的时刻是什么?是熬夜卡完时间轴,导出…

2026/8/14 12:27:18 阅读更多 →
从代码逻辑到防线加固:网站安全建设与应用开发的深度融合实战指南

从代码逻辑到防线加固:网站安全建设与应用开发的深度融合实战指南

在这个数字化浪潮汹涌澎湃的时代,互联网早已不仅仅是信息的搬运工,而是成为了商业逻辑的载体、数据价值的矿藏以及品牌信任的基石。对于每一位投身于互联网行业的开发者、产品经理或者是企业决策者来说,当我们谈论“网站安全建设”与“应用开发”时,往往容易产生一种割裂感…

2026/8/14 12:27:18 阅读更多 →

最新新闻

从下载到启动:packettracer-fedora让Fedora系统运行Cisco Packet Tracer如此简单

从下载到启动:packettracer-fedora让Fedora系统运行Cisco Packet Tracer如此简单

从下载到启动:packettracer-fedora让Fedora系统运行Cisco Packet Tracer如此简单 【免费下载链接】packettracer-fedora Easily install Cisco Packet Tracer latest version on Fedora. 项目地址: https://gitcode.com/gh_mirrors/pa/packettracer-fedora C…

2026/8/15 17:18:11 阅读更多 →
Dialogflow-nodejs-client与主流聊天平台集成:Facebook、Telegram等案例

Dialogflow-nodejs-client与主流聊天平台集成:Facebook、Telegram等案例

Dialogflow-nodejs-client与主流聊天平台集成:Facebook、Telegram等案例 【免费下载链接】dialogflow-nodejs-client Node.js SDK for Dialogflow 项目地址: https://gitcode.com/gh_mirrors/di/dialogflow-nodejs-client Dialogflow-nodejs-client是一款强大…

2026/8/15 17:18:11 阅读更多 →
如何用开源项目Hexapod5打造你的第一台六足机器人:完整上手指南

如何用开源项目Hexapod5打造你的第一台六足机器人:完整上手指南

如何用开源项目Hexapod5打造你的第一台六足机器人:完整上手指南 【免费下载链接】hexapod 项目地址: https://gitcode.com/gh_mirrors/hexapod5/hexapod 你是不是也幻想过拥有这样一台机器:六条腿,能爬坡、能绕障、能自己站稳&#x…

2026/8/15 17:18:11 阅读更多 →
一次完整的视频动作迁移实操:让静态照片里的人动起来

一次完整的视频动作迁移实操:让静态照片里的人动起来

一次完整的视频动作迁移实操:让静态照片里的人动起来 【免费下载链接】ComfyUI-MimicMotionWrapper 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-MimicMotionWrapper 事情的起因很简单:朋友发来一段很有节奏感的舞蹈演示,我…

2026/8/15 17:18:11 阅读更多 →
191、LLC谐振变换器的样机调试实战(整改优化)

191、LLC谐振变换器的样机调试实战(整改优化)

191、LLC谐振变换器的样机调试实战(整改优化) 一、从一块冒烟的板子说起 去年夏天,我接手了一个48V转12V/500W的LLC项目。客户反馈样机在满载启动时,MOSFET炸了三个,谐振电容裂了两个。拆开看,PCB上还有明显的打火痕迹。这不是第一次了——之前实验室里调试LLC,我也经…

2026/8/15 17:18:11 阅读更多 →
UE5近战攻击系统:从Enhanced Input到攻击蒙太奇的完整实现指南

UE5近战攻击系统:从Enhanced Input到攻击蒙太奇的完整实现指南

在UE5中实现一个流畅、响应迅速且富有打击感的近战攻击系统,是许多新手开发者遇到的第一个“硬骨头”。你可能会想:不就是按一下鼠标左键,播放一个动画吗?这有什么难的?然而,当你真正动手时,往往…

2026/8/15 17:17:11 阅读更多 →

日新闻

内景 空间站内部 中国空间站 太空 内仓

内景 空间站内部 中国空间站 太空 内仓

本项目为前几天收费帮学妹做的一个项目,在工作环境中基本使用不到,但是很多学校把这个当作编程入门的项目来做,故分享出本项目供初学者参考。 一、项目描述 空间站内部 中国空间站 太空 内仓 地址:本地PC端运行(或Web…

2026/8/15 0:00:30 阅读更多 →
重新定义数据接口:3个突破性场景让通达信数据读取更智能

重新定义数据接口:3个突破性场景让通达信数据读取更智能

重新定义数据接口:3个突破性场景让通达信数据读取更智能 【免费下载链接】mootdx 通达信数据读取的一个简便使用封装 项目地址: https://gitcode.com/GitHub_Trending/mo/mootdx 当我们面对海量金融数据时,传统的数据获取方式往往让我们陷入困境—…

2026/8/15 0:00:30 阅读更多 →
一文读懂快消WMS怎么选?2026年国内外10大主流WMS品牌盘点

一文读懂快消WMS怎么选?2026年国内外10大主流WMS品牌盘点

快消品(FMCG)是流通速度较快、竞争较为激烈的行业之一。一瓶饮料从出厂到消费者手中,往往只有几十天甚至几天的周转窗口。这决定了快消行业的仓储管理系统(WMS)与制造业、电商行业存在明显区别:它不仅需要管…

2026/8/15 0:02:30 阅读更多 →

周新闻

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁 【免费下载链接】baidupankey 在线查询网盘提取码(维护中 rm repo) 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 你是否曾经在深夜寻找一份重要资料&#x…

2026/8/13 2:38:34 阅读更多 →
如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南 【免费下载链接】chinese_license_plate_generator 中国车牌生成器 项目地址: https://gitcode.com/gh_mirrors/ch/chinese_license_plate_generator 中国车牌生成器是一个基于Python的开源项目&#xff0c…

2026/8/15 12:59:14 阅读更多 →
收藏!小白程序员轻松入门大模型,从Harness工程开始实践

收藏!小白程序员轻松入门大模型,从Harness工程开始实践

文章强调学习大模型不应只关注模型本身,而应重视模型外的系统搭建,即Harness。提出AgentModelHarness的实用公式,详细介绍Harness的四个层次:持久化层、执行层、控制层和观察与验证层。文章还探讨了上下文工程、工具设计、AGENTS.…

2026/8/13 10:41:51 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/14 13:40:53 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/14 14:06:45 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/15 2:35:29 阅读更多 →