2009-07-12 8 views
0

Ich habe ein Problem mit linqdatasource. Ich habe Gridview in meiner Seite und ich setze seine Datenquelle auf linqdatasource, auch ich setze AllowPaging = "True", AllowSorting = "True".Linqdatasource und relationales Datenproblem

<asp:GridView ID="cityGrid" runat="server" AutoGenerateColumns="False" 
DataKeyNames="CityId" AllowPaging="True" 
AllowSorting="True" DataSourceID="LinqCityData"> 

Jetzt in LinqDataSource Ich mag Daten aus zwei Tabellen (relationale Tabellen mit FK) abzurufen, gibt es kein Problem in diesem Schritt. kann ich Select-Eigenschaft von LinqDataSource wie diese von anderer Tabelle wählen

<asp:LinqDataSource ID="LinqCityData" runat="server" 
ContextTypeName="ContactSysDataContext" 
TableName="Office_ContactSys_Cities" 
Select="new (CityId, CityName , Office_ContactSys_Province.ProvinceName)"> 
</asp:LinqDataSource> 

oder I cas Ereignis Verwendung Auswahl in LinqDataSource

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; 
    } 

aber nach diesem Schritt, den ich nicht in LinqDataSource automatischen löschen kann und stattdessen erhalte ich diesen Fehler:

LinqDataSource 'LinqCityData' does not support the Select property when the Delete, Insert or Update operations are enabled

Hier ist meine Frage: Wie kann ich das Paging in gridview implementieren (natürlich für relationale Tabellen) mit linqdatasource (linqdatasource mit aktiviertem löschen oder update)?

Antwort

2

Wenn Sie die Select-Anweisung aus der Linqdatasource entfernen, erhalten Sie diesen Fehler nicht mehr. Und dann können Sie update, löschen und einfügen. Oh, Sie müssen auch das Löschen einfügen und in der Datenquelle aktualisieren.

Hier ist ein Beispiel:

<asp:LinqDataSource ID="LinqDataSource1" runat="server" 
    ContextTypeName="Custom.Data.DataAccessDataContext" 

    TableName="CustomerSegmentMappings" 
    EnableDelete="True" 
    EnableInsert="True" 
    EnableUpdate="True"> 
</asp:LinqDataSource> 
Verwandte Themen