I'm using Asp.net mvc 5 and EF 6 to make a web app. I started with the Internet app template and added those classes:

public class Article
{
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public Guid ID { get; set; }
    public string Tags { get; set; } 
    public string Name { get; set; }
    public string Link { get; set; }
    public string HtmlContent { get; set; }
    [ForeignKey("ListaId")]
    public Lista Lista { get; set; }
    public Guid ListaId { get; set; }
}

public class List
{

    public string Name { get; set; }
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public Guid ID { get; set; }
    public int Status { get; set; } 
    public virtual ApplicationUser User { get; set; }
    public string ApplicationUserId { get; set; }
    public string Tags { get; set; } 
}

But every time the nuget package manager updates the db and runs the Seed method, it breaks when trying to insert an article in the db. here's the seed method in the configuration.cs

        context.Lists.AddOrUpdate(new Lista
        {
            Name = "Technology",
            ApplicationUserId = "f06b0d2e-2088-4cd7-8b1c-4fcad5619f3c",
            Status = 1,
            Tags = "Tech,News"
        });
        context.SaveChanges();

        Lista l1 = context.Lists.Where(x => x.Status == 1).First();

        context.Articles.AddOrUpdate(new Article
        {
            ListaId = l1.ID,
            Link = "www.abc.com",
            Name = "ABC",
            Tags = "c,test",
            HtmlContent = "Hello World"
        });
        context.SaveChanges(); //here it breaks

The inner exception: System.Data.SqlClient.SqlException: Cannot insert the value NULL into column 'ID', table 'aspnet-Webapp-20141022011020.dbo.Articles'; column does not allow nulls. INSERT fails I get the same error if I take the [Key] adnotation out of the Article class and if I take the [DatabaseGenerated(DatabaseGeneratedOption.Identity)] adnotation I get the following error: System.Data.SqlClient.SqlException: Violation of PRIMARY KEY constraint 'PK_dbo.Articles'. Cannot insert duplicate key in object 'dbo.Articles'. The duplicate key value is (00000000-0000-0000-0000-000000000000).

What can I do? Why isn't it generating a proper id?

Related posts

Recent Viewed