NullReferenceException
当我的目标提供程序是 SQL Server CE,但使用 SQL Server Express 时,我得到了一个。return...
当我尝试访问Comments
. 模型非常简单,可以从代码中推断出来。谢谢你的帮助!顺便说一句,我正在使用实体框架代码优先 4.3 和 SQL Server CE 4.0。
使用与 SQL Server Express 相同的代码作为提供程序 = 运行良好
使用与 SQL Server CE 相同的代码作为提供程序 = 异常错误
此外,我对 SQL Server CE 没有任何问题。它可以在我的机器上运行,并且我已经使用实体框架代码优先甚至 asp.net 授权完成了单表操作。我从来没有在相关实体上做过任何这样的嵌套添加/删除,所以我很好奇为什么这不起作用..
db.Persons.Add(new Person()
{
FullName = "JC Viray",
Comments = new List<Comment>(){
new Comment(){CommentContent="Hello!"},
new Comment(){CommentContent="World!"}
}
});
db.SaveChanges();
return db.Persons.FirstOrDefault().Comments.FirstOrDefault().CommentContent;
让我感到困惑的是,在 SQL Server Express 中,如果我检查数据,就会出现注释。
在 SQL Server CE 中,只有Persons
表有数据,而Comments
表为空。
编辑:
如果有帮助,这里是模型:
public class Person
{
[Key]
public int PersonId { get; set; }
public string FullName { get; set; }
public virtual ICollection<Comment> Comments { get; set; }
}
public class Comment
{
[Key]
public int CommentId { get; set; }
public string CommentContent { get; set; }
[ForeignKey("Person")]
public int PersonId { get; set; }
public virtual Person Person { get; set; }
}