Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Entity framework 在同一上下文中添加对象时,实体框架不返回代理_Entity Framework_Entity Framework 6 - Fatal编程技术网

Entity framework 在同一上下文中添加对象时,实体框架不返回代理

Entity framework 在同一上下文中添加对象时,实体框架不返回代理,entity-framework,entity-framework-6,Entity Framework,Entity Framework 6,我有一门课: public class Company { public System.Guid Id { get; set; } public Nullable<System.Guid> CreatedById { get; set; } public virtual Users CreatedBy { get; set; } } 然后我使用相同的上下文检索公司: var retrievedCompany = Context.Set<

我有一门课:

public class Company
{    
    public System.Guid Id { get; set; }
    public Nullable<System.Guid> CreatedById { get; set; }    
    public virtual Users CreatedBy { get; set; }
}
然后我使用相同的上下文检索公司:

var retrievedCompany = Context.Set<Company>().FirstOrDefault(item => item.Id == newCompanyId);
var retrievedCompany=Context.Set();
retrievedCompany
具有类型
Company
,并且它不是动态代理,因此名为
CreatedBy
的导航属性不起作用


是否可以改为获取代理?

您需要使用
Create()
使实体框架了解您的新实体,而不仅仅是实例化
公司的实例。你可以用

var company = ContextSet<Company>().Create();
var company=ContextSet().Create();
要创建
公司
类型的新实例,请将其添加到上下文中。将对象添加到上下文时,它将尝试自动获取导航属性,因此应该在
SaveChanges()
之前填充该属性


之后,您将能够在上下文的同一实例中使用该导航属性。

是否不关闭代理创建:
context.Configuration.ProxyCreationEnabled=false
var company = ContextSet<Company>().Create();