Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 22
  1. #11
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    ahh ok.. come l'avevi detta tu sembrava che volessi creare il datacontext che girasse su "qualsiasi" database

    Ma dato che nell'applicazione finale che costruirò il database potrebbe cambiare di volta in volta volevo sapere se e come si possono costruire i datacontext in maniera dinamica.

  2. #12
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    138
    beh, quello è lo step successivo asd

  3. #13
    Se vogliamo definirlo in modo "volgare", il DataContext, in questo caso, è un contenitore di entità ..... le entità, non sono niente altro che classi contenenti metodi e proprietà decorate con attributi per il mapping sulle tabelle del Db.
    Quando crei una nuova istanza del datacontext, puoi specificare, come parametro nel costruttore, la stringa di connessione per puntare ad un database o ad un'altro......ma la struttura delle tabelle del Db(intese come entità) deve essere la stessa.

    Ciao.

  4. #14
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    138
    Originariamente inviato da Jeremy75
    Se vogliamo definirlo in modo "volgare", il DataContext, in questo caso, è un contenitore di entità ..... le entità, non sono niente altro che classi contenenti metodi e proprietà decorate con attributi per il mapping sulle tabelle del Db.
    Quando crei una nuova istanza del datacontext, puoi specificare, come parametro nel costruttore, la stringa di connessione per puntare ad un database o ad un'altro......ma la struttura delle tabelle del Db(intese come entità) deve essere la stessa.

    Ciao.
    ma infatti io, come ho fatto notare nel primo post, ho creato un datacontext passandogli la stringa di connessione.
    Non ho capito invece cosa intendi per "la struttura del db deve essere la stessa".

    Comunque supponendo che
    codice:
    Dim strConn As String = "Data Source=xxxxSQLEXPRESS2009,1433;Initial Catalog=SSC3FARMSDD;User Id=xxxxx;Password=xxxxxxxxxxx;"
    Dim dbacall As New DataContext(strConn)
    continuo a non capire come risolvo il mio problema.
    Con file dbml creato dal wizard e chiamato DataClassess1 io la query LINQ la eseguo così

    codice:
    Dim db As New DataClasses1DataContext
    
     Dim farmacia = From f In db.Farmacie Where f.Regione = "TO" Select f
    Ora se invece creo il datacontext DBCALL come ho scritto poco sopra e poi faccio
    codice:
    Dim farmacia2 = From f In dbacall.Farmacie Where f.Regione = "TO" Select f
    mi da errore (beh, ci credo, non ho fatto nessun "mapping" col database!) :
    "Farmacie non è un membro di 'System.Data.Linq.Datacotext"


    Insomma io l'ho creato questo datacontext ma così a occhio è vuoto....
    Si torna alla domanda posta nel primo post: come lo "riempio" via codice?
    Mi avete detto di guardare msdn... perfetto.. http://msdn.microsoft.com/en-us/library/bb399375.aspx

    ovviamente il codice in quel modo non funziona!!!

  5. #15
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    devi avere ovviamente una classe datacontext TUA che eredita da datacontext..

    Ps: non credo sia possibilre (o cmq non alla portata di un programmatore normale) far funzionare un datacontext con tutti i db, perchè dovresti avere N classi datacontext (ereditare de datacontext) per N databases.. impossibile.. in quel caso devi per forza usare le classi normali e niente LINQ

  6. #16
    Utente di HTML.it L'avatar di albgen
    Registrato dal
    Jun 2005
    Messaggi
    3,249
    Originariamente inviato da Stoicenko
    devi avere ovviamente una classe datacontext TUA che eredita da datacontext..

    Ps: non credo sia possibilre (o cmq non alla portata di un programmatore normale) far funzionare un datacontext con tutti i db, perchè dovresti avere N classi datacontext (ereditare de datacontext) per N databases.. impossibile.. in quel caso devi per forza usare le classi normali e niente LINQ
    http://gregorybeamer.spaces.live.com/blog/cns!B036196EAF9B34A8!812.entry?wa=wsignin1.0&sa=75844 5241
    I got the remedy

  7. #17
    La tipizzazione del DataContext è data dal fatto che, l'OR/M di Linq To Sql, crea, dietro le quinte, le classi che rappresentano le entità, con relative proprietà e attributi.
    Non puoi creare a runtime un DataContext e sperare che, solo passandogli la stringa di connesione, si crei automaticamente tutto il resto.
    A meno che tu non usi SqlMetal.exe(che non è altro che il tool che utilizza l'OR/M di Linq To Sql) .... ma, a questo punto, dovresti appogiarti anche all'uso delle Reflection, in quanto, dovresti fare riferimento ad un oggetto che, in fase di sviluppo, non esiste.
    Ad ogni modo, cerca più info riguardo SqlMetal.exe e poi .... facci sapere...
    Ciao.

  8. #18
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    138
    Dunque forse ci siamo quasi.
    Ho creato una classe in questo modo
    codice:
    Imports System.Data.Linq.Mapping
    Imports System.Data.Linq
    
    <Table(Name:="Dba_Call")> _
    Public Class Dba_Call
        <Column()> _
        Public Farmacia As String
        <Column()> _
        Public Data_Chiamata As String
        <Column()> _
        Public Ora_Chiamata As String
        <Column()> _
        Public Oggetto As String
        <Column()> _
        Public Problema As String
        <Column()> _
        Public Soluzione As String
        <Column()> _
        Public Utente As String
        <Column()> _
        Public Data_Chiusura As String
        <Column()> _
        Public Ora_Chiusura As String
    End Class
    poi ho fatto
    codice:
    Dim dbacall As DataContext = New DataContext(strConn)
            Dim aperte As Table(Of Dba_Call) = dbacall.GetTable(Of Dba_Call)()
            Dim chiamata= From c In aperte Where c.Data_Chiusura Is Nothing And c.Ora_Chiusura Is Nothing Select c
    
    
    DataGridView1.DataSource = chiamata
    In debug chiamata mi dice che ha due record(!!!) quindi funziona.
    Però poi nella datagridview non appare nulla

  9. #19
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    138
    Originariamente inviato da albgen
    http://gregorybeamer.spaces.live.com/blog/cns!B036196EAF9B34A8!812.entry?wa=wsignin1.0&sa=75844 5241
    interessante anche se è in C#

  10. #20
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    138
    nessuna idea sul perchè la datagridview non mi visualizza i risultati?

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.