2017-05-04 12 views
0

データを格納するときに非常に奇妙なイベントが発生しました。 私のテーブルはGUIDをプライマリIDとして使用しています。何らかの理由で、すべての新しいエントリに対して同じGUIDを記録しています。固有のGUIDが生成されない

表は、モデルからのトラックに格納された新しいチェックポイントのリストに変換し

public class Checkpoint 
{ 
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)] 
    public Guid Id { get; set; } 

    [Required] 
    public string Title { get; set; } 

    public DateTime? CreatedOn { get; set; } 
    public DateTime? ModifiedOn { get; set; } 
} 

public class Track 
{ 
    public Track() 
    { 
     Checkpoints = new List<Checkpoint>(); 
    } 

    [DatabaseGenerated(DatabaseGeneratedOption.Identity)] 
    public Guid Id { get; set; } 

    [Required] 
    public List<Checkpoint> Checkpoints { get; set; } 

    public DateTime? CreatedOn { get; set; } 
    public DateTime? ModifiedOn { get; set; } 
} 

コードスニペットを構築します。

var trackObject = new Track(); 

var checkpointList = model.Checkpoints.ConvertAll(x => new Checkpoint {Title = x.Title}); 

trackObject.Checkpoints.Add(checkpointList); 

db.Track.Add(trackObject); 
await db.SaveChangesAsync(); 

チェックポイントテーブル結果(iは物体を追跡するために、外部キーポインティングをomited):

ID          | TITLE | CREATED_ON 
-------------------------------------------------------------------------------- 
c3451b2b-bb30-e711-b867-f01faf23929d | First | 4/05/2017 11:16:50 AM  
c5451b2b-bb30-e711-b867-f01faf23929d | Second | 4/05/2017 11:16:50 AM 
c6451b2b-bb30-e711-b867-f01faf23929d | Third | 4/05/2017 11:16:50 AM  
c7451b2b-bb30-e711-b867-f01faf23929d | Sprint | 4/05/2017 11:16:50 AM  
c8451b2b-bb30-e711-b867-f01faf23929d | Home | 4/05/2017 11:16:50 AM  
c9451b2b-bb30-e711-b867-f01faf23929d | Finish | 4/05/2017 11:16:50 AM 

全てIDフィールドが同じで見られるように。 コード内の障害はどこですか?

+1

あなたのIDに[Key]属性を付けるのを忘れましたか? – Lenny32

+0

彼らは同じではありません。彼らは最初の部分ではすべて異なっています。これはSequentialGuidであるためです。 –

答えて

関連する問題