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

EF 7基于AdventureWorks2019生成脚手架不完整问题求助

问题:使用EF Core从AdventureWorks2019生成模型时的异常与问题

我通过以下命令从AdventureWorks2019数据库生成EF Core上下文与模型类,连接字符串存储在appsettings.json中:

Scaffold-DbContext "Name=ConnectionStrings:connection" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models

构建成功并生成了模型类,但出现了一系列问题,具体如下:

一、类型映射缺失导致的生成失败

  • 无法找到HumanResources.Employee.OrganizationNode列(数据类型为hierarchyid)的类型映射,已跳过该列
  • 因OrganizationNode列无法生成,索引IX_Employee_OrganizationLevel_OrganizationNode无法生成脚手架
  • 因OrganizationNode列无法生成,索引IX_Employee_OrganizationNode无法生成脚手架
  • 无法找到Person.Address.SpatialLocation列(数据类型为geography)的类型映射,已跳过该列
  • 无法找到Production.Document.DocumentNode列(数据类型为hierarchyid)的类型映射,已跳过该列
  • 因主键包含的DocumentNode列无法生成,Production.Document表的主键脚手架无法生成,进而无法为该表生成实体类型
  • 无法找到Production.ProductDocument.DocumentNode列(数据类型为hierarchyid)的类型映射,已跳过该列
  • 因主键包含的DocumentNode列无法生成,Production.ProductDocument表的主键脚手架无法生成,进而无法为该表生成实体类型

二、Bool属性因默认约束被映射为可空类型

以下列原本应映射为非可空bool属性,但由于表中存在默认约束,被映射为可空bool属性,以此区分主动设置属性为false与使用默认约束的差异:

  • HumanResources.Employee.SalariedFlag
  • HumanResources.Employee.CurrentFlag
  • Person.StateProvince.IsOnlyStateProvinceFlag
  • Production.Product.MakeFlag
  • Production.Product.FinishedGoodsFlag
  • Purchasing.Vendor.PreferredVendorStatus
  • Purchasing.Vendor.ActiveFlag
  • Sales.SalesOrderHeader.OnlineOrderFlag

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 00:13:26