Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# EntityFramework核心数据库First未在fluent中生成主键_C#_Sql Server_Entity Framework_Asp.net Core_Asp.net Core 2.0 - Fatal编程技术网

C# EntityFramework核心数据库First未在fluent中生成主键

C# EntityFramework核心数据库First未在fluent中生成主键,c#,sql-server,entity-framework,asp.net-core,asp.net-core-2.0,C#,Sql Server,Entity Framework,Asp.net Core,Asp.net Core 2.0,我有一个SQL Server数据库,其中有许多以前创建的表,供软件使用。我正在启动一个ASP.NET core 2.0解决方案来替换旧软件,我选择了使用EntityFramework core的Database First Process以类的形式获取这些表,并使用Scaffold DbContext“MY_CONNECTION_STRING”Microsoft.EntityFrameworkCore.SqlServer-outputDir MY_PATH生成数据库上下文。导入的模型类“主键”列

我有一个SQL Server数据库,其中有许多以前创建的表,供软件使用。我正在启动一个ASP.NET core 2.0解决方案来替换旧软件,我选择了使用EntityFramework core的Database First Process以类的形式获取这些表,并使用Scaffold DbContext“MY_CONNECTION_STRING”Microsoft.EntityFrameworkCore.SqlServer-outputDir MY_PATH生成数据库上下文。导入的模型类“主键”列没有使用Key属性修饰,尽管SQL Server模型浏览器中导入的表显示它们具有主键(int字段类型),而且数据库上下文的OnModelCreating方法中的模型生成器fluent映射也没有生成HasKey函数。例如:

表脚本:

型号:

流畅映射:

如您所见,类属性既没有用Key属性修饰,也没有用fluent映射生成[PK_AccountingAllocations]主键


数据库有很多表,我想导入表,包括模型的主键和流畅的映射,有可能吗?我如何实现?感谢您的帮助。

scaffold dbcontext命令有一个名为

-DataAnnotations

如果要查看模型类上的属性,则需要使用。否则,默认情况下仅使用fluent Api

为什么要为简单文本截图?只是为了浪费字节?一个“Id”属性按惯例是PK,EF不需要为此包含任何特定的数据注释或fluent API映射。同样的问题。如果PK有自定义名称,我该怎么办?@Aldemar Cuartas Carvajal我不确定这是否是正确答案。我正在使用
DataAnnotations
标志,但仍然看不到
[Key]
属性。如果PK处于“{table_name}Id”约定中,是否不需要
[Key]