You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Entity Framework入门疑问:与Hibernate有关联吗?如何根据SQL Server生成.cs类

基于已有SQL Server数据库生成EF Core实体类操作指南

你的思路完全符合Entity Framework Core的设计,这种基于已有数据库反向生成实体类的模式叫做Database First(数据库优先),和你之前使用Hibernate的开发流程逻辑一致,无需担心过往经验干扰。

前期准备

首先在你的C#项目中安装以下必要NuGet包:

  • Microsoft.EntityFrameworkCore.SqlServer:SQL Server数据库适配包
  • Microsoft.EntityFrameworkCore.Design:EF设计时工具基础依赖
  • 如果你使用Visual Studio包管理器控制台执行操作,额外安装Microsoft.EntityFrameworkCore.Tools
  • 如果你使用dotnet CLI命令行执行操作,全局安装EF工具,执行命令:dotnet tool install --global dotnet-ef

操作方式

方式1:dotnet CLI命令行生成

在项目根目录打开终端,执行脚手架生成命令,模板如下:

dotnet ef dbcontext scaffold "你的SQL Server连接字符串" Microsoft.EntityFrameworkCore.SqlServer -o 输出目录 -c 自定义DbContext名称

示例命令参考:

dotnet ef dbcontext scaffold "Server=.;Database=你的数据库名;Trusted_Connection=True;TrustServerCertificate=True;" Microsoft.EntityFrameworkCore.SqlServer -o Models -c AppDbContext

常用参数说明:

  • -o:指定生成的实体类、DbContext文件的输出文件夹路径,示例中会统一输出到项目的Models目录下
  • -c:自定义生成的DbContext上下文类的名称,不填默认使用数据库名+Context后缀
  • --force:如果后续数据库结构更新,需要覆盖本地已生成的文件时添加该参数即可

方式2:Visual Studio可视化向导生成

如果不想手动敲命令,可以用VS内置功能操作:

  • 右键目标项目 → 点击「添加」→ 选择「新建项」
  • 在新建项窗口的「数据」分类中,选择「ADO.NET实体数据模型」
  • 按照向导提示选择「EF Core数据库上下文」,输入数据库连接信息,勾选需要映射的表、视图等对象
  • 确认后会自动生成所有对应的.cs实体类和DbContext文件

生成完成后每张表会对应一个独立的.cs实体文件,属性和表结构完全匹配,同时生成的DbContext中会包含所有表对应的DbSet<T>属性,你可以直接按照EF Core的开发规范进行后续开发。


内容的提问来源于stack exchange,提问作者Dominique

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 13:39:04