我使用的是Asp.NET Identity。我创建了一个具有多个实体的IdentityDbContext(线性关系:user→账户→语句)。
当上下文实例化时,Account.Statements导航属性为null事件:
using (var ctx = new MyContext())
{
var account = ctx.Account.Create();
Debug.Assert(account != null); // fails.
}
当MyContext
从DbContext
派生时,所有导航属性都已正确分配给延迟加载集合。
这是Asp.Net身份的问题吗?有什么方法可以解决这个问题吗?
根据文档,DbSet的Create
方法不会将对象附加到上下文。我发现,如果我附加对象,则会正确地为属性分配代理集合。
此外,这并不是一个真正的问题:我只需要自己创建一个集合的实例,然后将对象添加到集合中,Entity Framework就会相应地提交相关项。