我在Northwind database.server MS2008上工作。在linq我激活一个sp然后告诉我下面的错误:
语法:
<dxwgv:ASPxGridView ID="ASPxGridView1" runat="server"
AutoGenerateColumns="False" DataSourceID="LinqServerModeDataSource1"
KeyFieldName="CategoryID">
<Columns>
<dxwgv:GridViewCommandColumn VisibleIndex="0">
<EditButton Visible="True">
</EditButton>
<NewButton Visible="True">
</NewButton>
<DeleteButton Visible="True">
</DeleteButton>
</dxwgv:GridViewCommandColumn>
<dxwgv:GridViewDataTextColumn Caption="CategoryID" FieldName="CategoryID"
VisibleIndex="1">
</dxwgv:GridViewDataTextColumn>
<dxwgv:GridViewDataTextColumn Caption="CategoryName" FieldName="CategoryName"
VisibleIndex="2">
</dxwgv:GridViewDataTextColumn>
<dxwgv:GridViewDataTextColumn Caption="Description" FieldName="Description"
VisibleIndex="3">
</dxwgv:GridViewDataTextColumn>
</Columns>
</dxwgv:ASPxGridView>
<dxdtlnq:LinqServerModeDataSource ID="LinqServerModeDataSource1" runat="server"
onselecting="LinqServerModeDataSource1_Selecting" />
C#语法:
protected void LinqServerModeDataSource1_Selecting(object sender, DevExpress.Data.Linq.LinqServerModeDataSourceSelectEventArgs e)
{
NorthwindDataContext db=new NorthwindDataContext();
var r = db.SELECT_All_Product();
e.QueryableSource = r;
}
错误讯息:
错误1无法将类型'System.Data.Linq.ISingleResult'隐式转换为'System.Linq.IQueryable'。存在显式转换(您是否缺少演员?)
该怎么做才能解决这个错误。为什么需要custing.How to cust .Plz显示一些语法
答案 0 :(得分:0)
原因是通常程序返回IEnumerable&lt; TEntity&gt;结果。
您需要一个表值函数才能使用IQueryable&lt; TEntity&gt;。有关详细信息,请查看this article。