了解我的代码优先实体是否来自直接代码(新 DataObject())的最佳方法是什么
或从上下文 (Context.DataObjects.First())
因为我没有阻止我的上下文使用动态代理,所以我可以这样做:
protected DataObject()
{
if (this.GetType().Namespace != "System.Data.Entity.DynamicProxies")
{
this.Id = IdGenerator.NextId<DataObject>();
}
}
但这看起来是一个糟糕的解决方案,因为 GetType() 很昂贵。
谢谢