Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    errore di compilazione con linq

    Salve a tutti, ho un problema e non riesco a venirne a capo....

    ho creato una classe linq to sql con le relative tabelle...
    in Default.aspx inserisco il seguente codice:
    codice:
    <asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
    
      <%
          ProgettoScuola.Class1 cc = new ProgettoScuola.Class1();
          Response.Write(cc.name());
          ProgettoScuola.LinqClass1DataContext linq1 = new ProgettoScuola.LinqClass1DataContext();
    
          using (linq1) {
    
              var docenti = from c in linq1.Docenti
                            select c;
              
                GridView1.DataSource = docenti;
                GridView1.DataBind();
    }
    %>
            
        <asp:GridView ID="GridView1" runat="server">
    </asp:GridView>
    
    </asp:Content>
    ... e mi da il seguente errore di compilazione:

    codice:
    CS0012: Il tipo 'System.Data.Linq.DataContext' è definito in un assembly di cui manca il riferimento. Aggiungere un riferimento all'assembly 'System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.
    e un altro errore
    codice:
    'ProgettoScuola.LinqClass1DataContext': il tipo utilizzato in un'istruzione using deve essere convertibile in modo implicito in 'System.IDisposable'
    dato sono alle prime armi con vs2010... qualcuno mi potrebbe dare una mano???

    Ringrazio anticipatamente..

  2. #2
    Utente di HTML.it L'avatar di rsdpzed
    Registrato dal
    Aug 2001
    Messaggi
    764
    i due errori sono correlati fra loro. Fai tasto destro su riferimenti e aggiungi il riferimento all'assembly che ti suggerisce il primo errore e non dovresti avere piu problemi.

  3. #3
    ciao e grazie per la risposta...

    scusa ma non sono pratico di vs2010....

    tasto destro su riferimenti > aggiungi riferimento > mi appare un pop-up con varie schede (.NET, COM, Progetti, Sfoglia, Recenti)...

    come dovrei procedere??? se vado su Sfoglia, cosa devo selezionare ....


    grazie in anticipo!!!

  4. #4
    Utente di HTML.it L'avatar di rsdpzed
    Registrato dal
    Aug 2001
    Messaggi
    764
    vai sulla scheda .NET e scegli System.Data.Linq.DataContext, se ce ne sono 2 accertati che la versione sia la 4.0, poi clicca su OK

  5. #5
    ciao rsdpzed, il problema sembra sia proprio questo....

    sulla scheda .NET c'è solo la voce System.Data.Linq. La voce System.Data.Linq.DataContext non esiste nell'elenco!!!

    la classe Linq to Sql sta nella root dell'applicazione.... non so... !!!

  6. #6
    Utente di HTML.it L'avatar di rsdpzed
    Registrato dal
    Aug 2001
    Messaggi
    764
    scusami sono io che sono troppo frettoloso: System.Data.Linq è il riferimento che devi aggiungere

  7. #7
    allora la situazione peggiora!!!!

    perchè nella cartella Riferimenti è presente la voce System.Data.Linq, ma gli errori rimangono gli stessi identici!!!!!

    quale potrebbe essere il problema???

    aiuto!!!!

  8. #8
    Utente di HTML.it L'avatar di rsdpzed
    Registrato dal
    Aug 2001
    Messaggi
    764
    devi istanziare linq1 direttamente nella using e non fuori:

    codice:
    using (ProgettoScuola.LinqClass1DataContext linq1 = new ProgettoScuola.LinqClass1DataContext())
    {
    ...
    dimmi come va

  9. #9
    ....stesso identico errore....

    questo è il codice che ho scritto in default.aspx

    codice:
    <%
         
         // ProgettoScuola.LinqClass1DataContext linq1 = new ProgettoScuola.LinqClass1DataContext();
    
          using (ProgettoScuola.LinqClass1DataContext linq1 = new ProgettoScuola.LinqClass1DataContext()) 
        {
    
              var docenti = from g in linq1.Docenti
                            select g;
              
                GridView1.DataSource = docenti;
                GridView1.DataBind();
              
          }
    %>

  10. #10
    Utente di HTML.it L'avatar di rsdpzed
    Registrato dal
    Aug 2001
    Messaggi
    764
    Questo errore mi è stato segnalato spesso da visual studio quando ho il modello di enity framework (o linq to sql) in un progetto separato e referenzio il progetto in asp.net, a quel punto il compilatore con quell'errore mi dice che devo referenziare (sempre nel progetto asp.net) anche la dll di l2sql o ef, che è la stessa cosa che ti ho suggerito io.

    poi io il codice c# lo metterei nel code behind dentro il page load.

    intanto prova a mettere queste due righe subito sotto la direttiva @page in alto alla pagina:

    <%@ Import namespace="System.Data.Linq" %>
    <%@ Import namespace="ProgettoScuola" %>

    sinceramente oltre a questo non saprei proprio cos'altro suggerirti.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.