Я так расстроен из-за этой проблемы, ты не представляешь ...
У меня есть 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'; столбец не допускает пустых значений. Вставить не удается.
... этот столбец 'PostID', конечно, является внешним ключом для таблицы Posts.
Любая помощь будет оценена!