我无法将我的一个实体转换为 IEntityWithRelationsships。我使用了很多从实体获取上下文的方法,到目前为止它运行良好。我认为实体只需要在模型中定义一个或多个关系,就是这样。
这是我的代码的一小部分:
public ActionResult Update(StavkaDokumentaVM stavka)
{
if (ModelState.IsValid)
{
StavkaDokumenta st = AutoMapper.Mapper.Map<StavkaDokumenta>(stavka);
db.StavkeDokumenta.Attach(st);
db.ObjectStateManager.ChangeObjectState(st, EntityState.Modified);
db.SaveChanges();
IEntityWithRelationships test = st as IEntityWithRelationships; // I get NULL here
st = db.StavkeDokumenta.Include("RelationEnd1").Include("RelationEnd2")
.Where(sd => sd.IdStavkaDokumenta == st.IdStavkaDokumenta).Single();
test = st as IEntityWithRelationships; // Also get NULL
}
}
有问题的实体定义了大约 10 个关系,所以应该没问题。
这里发生了什么?我真的很困惑。
更新:
这就是我刚刚所做的:
db.LoadProperty(st, "DokumentStavke");
IEntityWithRelationships test = st.DokumentStavke as IEntityWithRelationships; // I get NON NULL value;
test = st as IEntityWithRelationships; // I still get NULL.
这是事情应该是这样的吗?