在Serverside实体框架5上生成Guid?

cho*_*bo2 9 entity-framework guid

我来自一个nhibernate背景,我想知道如何在serer端自动生成Guid而不是在数据库端进行往返?

在流利的nhibernate中它很简单

   Id(x => x.Id).GeneratedBy.GuidComb();
Run Code Online (Sandbox Code Playgroud)

Ric*_*ard 17

如果要在服务器上生成密钥,只需在代码中执行此操作:

public class TestObject 
{
    public TestObject() 
    {
        Id = Guid.NewGuid();
    }
    public Guid Id { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

如果希望数据库生成密钥,请使用DatabaseGenerated属性:

public class TestObject 
{
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public Guid Id { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

如果您正在使用顺序GUID,那么目前没有简单的答案.一些让您走上正确道路的例子:

  • 注意,如果从**edmx**生成,请确保将**生成列**设置为**Identity**,以用于您希望GUid由服务器生成的列. (2认同)