实体框架可跟踪集合能否绑定到ASP.Net 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

我在ASP.Net页面上有一个GridView。我想将Gridview的数据源设置为实体框架对象的可跟踪集合。我认为代码应该如下所示:

        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");