我的 linqdatasource 有问题。我的页面中有 gridview ,并将其数据源设置为 linqdatasource ,还设置了 AllowPaging="True" 、AllowSorting="True" 。
<asp:GridView ID="cityGrid" runat="server" AutoGenerateColumns="False"
DataKeyNames="CityId" AllowPaging="True"
AllowSorting="True" DataSourceID="LinqCityData">
现在在linqdatasource中我想从两个表(带有FK的关系表)中检索数据,这一步没有问题。 我可以像这样使用 linqdatasource 的 Select 属性从其他表中进行选择
<asp:LinqDataSource ID="LinqCityData" runat="server"
ContextTypeName="ContactSysDataContext"
TableName="Office_ContactSys_Cities"
Select="new (CityId, CityName , Office_ContactSys_Province.ProvinceName)">
</asp:LinqDataSource>
或者我在 linqdatasource 中使用 Selection 事件
protected void LinqCityData_Selecting(object sender, LinqDataSourceSelectEventArgs e)
{
ContactSysDataContext db = new ContactSysDataContext();
var CityResult= from p in db.Office_ContactSys_Cities join o in db.Office_ContactSys_Provinces on p.ProvinceId equals o.ProvinceId select new { o.ProvinceName, p.CityId, p.CityName };
e.Result = CityResult;
}
但在此步骤之后,我无法在 linqdatasource 中使用自动删除,而是收到此错误:
LinqDataSource 'LinqCityData' 没有 支持 Select 属性时 删除、插入或更新操作 已启用
这是我的问题:如何使用linqdatasource(启用删除或更新的linqdatasource)在gridview(当然对于关系表)中实现分页?
如果从 linqdatasource 中删除 select 语句,您将不会再收到该错误。 然后就可以使用更新、删除和插入。 哦,您还必须在数据源中启用删除、插入和更新。
这是一个例子:
<asp:LinqDataSource ID="LinqDataSource1" runat="server"
ContextTypeName="Custom.Data.DataAccessDataContext"
TableName="CustomerSegmentMappings"
EnableDelete="True"
EnableInsert="True"
EnableUpdate="True">
</asp:LinqDataSource>