C# 如何从entitydatasource绑定到detailsview获取返回的实体?
我试图在数据源的C# 如何从entitydatasource绑定到detailsview获取返回的实体?,c#,entity-framework,entitydatasource,C#,Entity Framework,Entitydatasource,我试图在数据源的Selected事件中获取实体,如下所示 protected void edsRetailer_OnSelected(object sender, EntityDataSourceSelectedEventArgs e) { if(e.Results == null) return; var list = (IEnumerable<Retailer>) e.Results; } 我尝试将其强制转换为ObjectView,但在我尝试强制转换时,该类似
Selected
事件中获取实体,如下所示
protected void edsRetailer_OnSelected(object sender, EntityDataSourceSelectedEventArgs e)
{
if(e.Results == null) return;
var list = (IEnumerable<Retailer>) e.Results;
}
我尝试将其强制转换为
ObjectView
,但在我尝试强制转换时,该类似乎不存在。您不必将e.Results
强制转换为ObjectView
,因为这已经是返回类型。(此外,System.Data.Objects.ObjectView
是一个内部类)。但关键是它实现了IEnumerable
(作为IBindingList
的一部分),而不是IEnumerable
将非泛型IEnumerable转换为泛型IEnumerable的常用方法是:
var list=e.Results.Cast();
您不必将e.Results
转换为ObjectView
,因为这已经是返回类型。(此外,System.Data.Objects.ObjectView
是一个内部类)。但关键是它实现了IEnumerable
(作为IBindingList
的一部分),而不是IEnumerable
将非泛型IEnumerable转换为泛型IEnumerable的常用方法是:
var list=e.Results.Cast();
Unable to cast object of type 'System.Data.Objects.ObjectView`1[CCBusiness.Retailer]' to type 'System.Collections.Generic.IEnumerable`1[CCBusiness.Retailer]'
var list = e.Results.Cast<Retailer>();