EntityFramework核心数据库首先不是流利地生成主键

时间:2018-01-04 23:34:00

标签: c# sql-server entity-framework asp.net-core asp.net-core-2.0

我有一个SQL Server数据库,其中包含许多由软件使用的表。我正在启动ASP.NET核心2.0解决方案来替换旧软件,我选择Database First Process with EntityFramework Core来获取这些表作为类,并使用Scaffold-DbContext“MY_CONNECTION_STRING”Microsoft.EntityFrameworkCore.SqlServer生成数据库上下文-outputDir MY_PATH。虽然SQL Server模型浏览器中的导入表显示它们具有主键(int字段类型),但是OnModelCreating方法中的模型构建器流畅映射,导入的模型类的“主键”列不会使用Key属性进行修饰。数据库上下文未生成HasKey函数。例如:

表脚本:

enter image description here

型号:

enter image description here

流利的映射:

enter image description here

如您所见,类属性未使用Key属性修饰,也未使用流式映射生成[PK_AccountingAllocations]主键。

数据库有很多表,我想将包括主键的表格导入模型和流畅的映射,¿是否可能,我该如何实现?谢谢你的帮助。

1 个答案:

答案 0 :(得分:2)

scaffold-dbcontext命令有一个名为

的选项
-DataAnnotations
如果要查看模型类的属性,则需要使用

。没有它,默认情况下只使用流畅的Api。