如何在实体框架5中创建新对象时生成唯一GUID



我有类似的问题,可以参考这个注释来解决他们的问题:

[DatabaseGenerated(DatabaseGeneratedOption.Identity)]

然而,将此应用于我的相关实体模型并没有任何作用。

当我调用.Add()方法时,它会将GUID插入为00000000-0000-0000-0000-000000000000

正如你所看到的,我提到的注释出现在模型中:

using System;
using System.Collections.Generic;
public partial class Event
{
    [System.ComponentModel.DataAnnotations.Schema.DatabaseGenerated(System.ComponentModel.DataAnnotations.Schema.DatabaseGeneratedOption.Identity)]
    public System.Guid ID { get; set; }
    public int AccountID { get; set; }
    public string ExternalID { get; set; }
    public string Title { get; set; }
    public string Description { get; set; }
    public string Location { get; set; }
    public Nullable<System.DateTime> StartTime { get; set; }
    public Nullable<System.DateTime> EndTime { get; set; }
    public Nullable<bool> AllDay { get; set; }
    public Nullable<System.Guid> ImageData { get; set; }
    public string ImageUrl { get; set; }
    public virtual Account Account { get; set; }
    public virtual FetchedFile FetchedFile { get; set; }
}

如何在插入新实体对象时生成唯一的GUID?

您总是可以在构造函数中初始化Guid。

public partial class Event
{
    public Event()
    {
        ID = Guid.NewGuid();
    }
    public System.Guid ID { get; set; }
    public int AccountID { get; set; }
    public string ExternalID { get; set; }
    public string Title { get; set; }
    public string Description { get; set; }
    public string Location { get; set; }
    public Nullable<System.DateTime> StartTime { get; set; }
    public Nullable<System.DateTime> EndTime { get; set; }
    public Nullable<bool> AllDay { get; set; }
    public Nullable<System.Guid> ImageData { get; set; }
    public string ImageUrl { get; set; }
    public virtual Account Account { get; set; }
    public virtual FetchedFile FetchedFile { get; set; }
}

相关内容

  • 没有找到相关文章

最新更新