未插入实体框架Guid Id和外键记录

时间:2013-06-16 18:54:34

标签: c# entity-framework ef-code-first guid

public partial class Authors
{
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public Guid Id { get; set; }
    public string Name { get; set; }        
    protected ICollection<Books> Books { get; set; }
}

Authors表有一个Guid主键,我签名了它来生成数据库。

public class Books
{
    public int Id { get; set; }
    public string Name { get; set; }
    public string ISBNNumber { get; set; }
    public Guid AuthorId { get; set; }

    public virtual Authors Author { get; set; }
}

class Program
{
    static void Main(string[] args)
    {
        BookStoreEntities1 context = new BookStoreEntities1();

        Authors author = new Authors();
        author.Name = "Sample Author Name";

        Books authorBook1 = new Books();
        authorBook1.ISBNNumber = "11145-8854-9987";
        authorBook1.Name = "Book 1";

        Books authorBook2 = new Books();
        authorBook2.ISBNNumber = "4145-8854-2987";
        authorBook2.Name = "Book 2";

        author.AddBook(authorBook1);
        author.AddBook(authorBook2);

        context.Authors.Add(author);
        context.SaveChanges();
    }
}

我创建了客户端代码以将新记录插入数据库。此客户端代码将作者插入Authors表,但不插入Books

如果我将Author Id更改为int(而不是Guid),则在这种情况下,AuthorBooks会插入数据库中。

您如何看待这个?

0 个答案:

没有答案