INSERT问题

时间:2010-03-28 10:40:14

标签: entity-framework insert poco entity-framework-4

由于这个问题,我很沮丧,你不知道......

我有2个课程:发布评论。我使用EF 4 POCO支持,我的.edmx模型中没有外键列(评论类没有 PostID属性,但 Post属性)< / p>

class Comment {
    public Post post { get; set; }
    // ...
}

class Post {
    public virtual ICollection<Comment> Comments { get; set; }
    // ...
}

有人可以告诉我为什么下面的代码不起作用?我想为帖子创建一个新评论:

Comment comm = context.CreateObject<Comment>();
Post post = context.Posts.Where(p => p.Slug == "something").SingleOrDefault();
// post != null, so don't worry, be happy

// here I set all other comm properties and...
comm.Post = post;

context.AddObject("Comments", comm);        // Exception here
context.SaveChanges();

例外是:

  

无法将值NULL插入“PostID”列,表'Blog.Comments';列不允许空值。 INSERT失败。

...这个'PostID'列当然是Posts表的外键。

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:1)

好的,经过很长一段时间我终于明白了。

我使用了Entity Framework Feature CTP 3中的Code Only方法而不是.edmx文件。 这是帮助我的文本的链接:

http://blogs.msdn.com/efdesign/archive/2009/10/12/code-only-further-enhancements.aspx