2013-08-01 37 views
1

我一直引用此批註解決他們的問題類似的問題:如何在實體框架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?

+0

你可以發佈你的型號代碼嗎? –

+0

實體模型還是視圖模型? – Kehlan

+0

實體模型 –

回答

3

您可以隨時在構造函數中初始化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; } 
} 
+0

在對GUID的概念做了一些研究之後,這絕對是一種方法。謝謝。 – Kehlan

相關問題