【发布时间】:2014-07-17 06:58:17
【问题描述】:
使用 EF 6.1,我希望能够从 DbContext 返回单个实体,并填充其导航属性,而无需知道主键。
例如实体:
public class MyEntity
{
public int SomeSortOfPrimaryKey { get; set; }
public string SomeProperty { get; set; }
public virtual SomeOtherEntity SomeOtherEntity { get; set; }
}
我有一个可用的实体实例,所以我尝试过:
var entityWithNavProps = _dbContext.Entry(entity).Entity;
但这并没有获得具有导航属性的实体。显然,.Find() 方法也不起作用,因为它需要一个字符串、guid 或整数。
还有其他方法可以使用实体和 DbContext 吗?
谢谢。
【问题讨论】:
-
我做
.Find(entity)时的错误:只支持标量类型,例如System.Int32、System.Decimal、System.DateTime和System.Guid -
你的实体实例是从哪里来的?
-
如果您愿意,可以“手动创建”,或者更常见的是来自
DbContext.Entry()。
标签: c# entity-framework