1

この問題のせいで私はとてもイライラしています、あなたにはわかりません...

PostCommentの2 つのクラスがあります。EF 4 POCO サポートを使用しています。.edmx モデルに外部キー列がありません (コメント クラスにはPostID プロパティはありませんが、Post プロパティがあります) 。

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 テーブルへの外部キーです。

どんな助けでも大歓迎です!

4

1 に答える 1

1

よし、久しぶりにやっとわかった。

.edmx ファイルの代わりに、Entity Framework Feature CTP 3 のコードのみのアプローチを使用しました。ここに私を助けたテキストへのリンクがあります:

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

于 2010-03-28T17:07:23.713 に答える