实体框架可跟踪集合能否绑定到ASP.Net Gridview?
我在ASP.Net页面上有一个GridView。我想将Gridview的数据源设置为实体框架对象的可跟踪集合。我认为代码应该如下所示:实体框架可跟踪集合能否绑定到ASP.Net Gridview?,asp.net,entity-framework-4,poco,self-tracking-entities,Asp.net,Entity Framework 4,Poco,Self Tracking Entities,我在ASP.Net页面上有一个GridView。我想将Gridview的数据源设置为实体框架对象的可跟踪集合。我认为代码应该如下所示: this.gvMyGridView.DataSource = entity.MyDetailedItems; this.gvMyGridView.DataBind(); 但这不会显示任何数据 我正在使用自跟踪实体,MyDetailedItems是指向另一个表中的行的导航属性。是的,它可以。如果未使用延迟加载(LazyLoadin
this.gvMyGridView.DataSource = entity.MyDetailedItems;
this.gvMyGridView.DataBind();
但这不会显示任何数据
我正在使用自跟踪实体,MyDetailedItems是指向另一个表中的行的导航属性。是的,它可以。如果未使用延迟加载(LazyLoadingEnabled为true),则这些关系不会自动加载,您必须执行以下操作:
if (entity.MyDetailedItems.IsLoaded == false)
entity.MyDetailedItems.Load();
否则,在绑定之前,如果使用EF4启用延迟加载,这就不再成为问题
HTH.EF 4,因此如果要使用导航属性,必须显式加载它们。使用以下任一选项:
// loading entity with related entities
var entity = context.Entities.Include("MyDetailedItems").Single(...);
或
// loading related entities for already loaded entity
context.LoadProperty(entity, "MyDetailedItems");