Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/258.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# 数据库生成的默认值_C#_Entity Framework Core - Fatal编程技术网

C# 数据库生成的默认值

C# 数据库生成的默认值,c#,entity-framework-core,C#,Entity Framework Core,我可以使用以下命令定义标识主键: public class MyEntity { [DatabaseGenerated(DatabaseGeneratedOption.Identity)] [Key] public int Id { get; set;} } 但是如果我不添加数据注释,那么默认生成的类型是什么?像这样: public class MyEntity { public int Id { get; set;} } 标识还是取决于创建数据库时的数据库

我可以使用以下命令定义标识主键:

public class MyEntity
{
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    [Key]
    public int Id { get; set;}
}
但是如果我不添加数据注释,那么默认生成的类型是什么?像这样:

public class MyEntity
{
    public int Id { get; set;}
}
标识还是取决于创建数据库时的数据库


我在官方文档中找不到主题:

按照惯例,EF查找名为YourEntityName+Id或just Id的属性,并且知道它是用于指定PK的。所以隐式地
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
对该属性执行属性。

您自己尝试时发生了什么?@jmchilney我只有SQL Server,在SQL Server中默认为Identity。因此,您专门询问,而不是专门询问,在SQL Server以外的数据库上会发生什么情况?@jmcillhinney mmh。。。文档链接中的yesConventions部分:“按照约定,整数或GUID数据类型的主键将被设置为在添加时生成值。所有其他属性将被设置为不生成值。”