2017-10-11 130 views
0

我可以定义一个身份主键与:默认值DatabaseGenerated

public class MyEntity 
{ 
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)] 
    [Key] 
    public int Id { get; set;} 
} 

但是,如果我不加注释的数据什么的默认生成的类型?像这样:

public class MyEntity 
{ 
    public int Id { get; set;} 
} 

身份或依赖于数据库创建数据库时?

我没有找到官方文档中的主题:https://docs.microsoft.com/en-us/ef/core/modeling/generated-properties

+0

当你为自己尝试时发生了什么? – jmcilhinney

+0

@jmcilhinney我只有SQL Server,而在SQL Server中默认是Identity。 –

+0

因此,您具体询问,没有具体询问,SQL Server以外的数据库会发生什么? – jmcilhinney

回答

0

按照惯例,EF查找名为YourEntityName + Id或只是Id属性,并且知道它是指定的PK。因此隐含地在该属性上执行的[Key][DatabaseGenerated(DatabaseGeneratedOption.Identity)]属性。