Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

LINQ loop into a dynamic Table and columns!

Îåêßíçóå áðü ôï ìÝëïò Johnnyxp64. Τελευταία δημοσίευση από το μέλος Johnnyxp64 στις 20-11-2008, 05:12. Υπάρχουν 7 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  15-11-2008, 11:29 46228

    LINQ loop into a dynamic Table and columns!

    Καλημερα,

    Ειμαι νεος στην LINQ και θα ηθελα να κανω το ακολουθο.

    συγνωμη αν πιθανων οι ορολογιες που θα πω δεν ειναι ακριβης..Embarrassed.θα προσπαθησω να το εξιγησω με απλα λογια
    επιδη δεν ξερω σωστα πως λεγετε ενα linq πινακας και τα καλουδια του, δεν καταφερα να googlaro...αμα δεν ξερεις πως λεγεται αυτο που ψαχνεις δεν μπορεις να βρεις τιποτα.

    σε ενα standarlinq συντασω καπως ετσι: 

    ObjectTableName.ObjectColumnNams = ....... τα βλεπεις τα αντικιμενα τις στιλες κτλ καθος πληκτρολογεις γιατι τα γνωριζει.

    τι γινεται ομως οταν σε runtime θελω να αλλαξω πινακα LINQ και να μπω σε εναν αλλο και πως να κανω μια αναζητηση (loop) μεσα σε στιλες που δεν γνωριζω ακομα, ως αντικειμενα?

    δηλαδη θελω να καταφερω το ακολουθο (το γραφω οπως το σκευπτομαι)

    οι πινακακες που θα παιζω ειναι ιδη μεσα στο linq class αλλα θελω δυναμικα να αλλαζω πινακες και μεσα τους να ψαχνω οτι στιλες και να εχουν με βαση το ονοματους και να κανω κατι εγω μετα.
    μπορει να γινει κατι τετοιο δυναμικα? ωστε να καλω το ακολουθο sub StoreData("ονομα του νεου πινακα Linq")

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub StoreData(byRef curLinqTable as LinqTable) 'or (byVal CurLingTable as String) na tou dino to onoma tou pinaka os string. Enoite o pinakas exei ginei drag and drop sto LINQ class.

    For Each myColumn as LinqColumn in curLinqTable

    if myColumn.Name=myVariable Then

    myColumn.value="data"

    End IF

    Next

    End Sub


    Ελπιζω στην βοηθεια σας. Ευχαριστω πολυ!Smile


    This Business Is Binary. You are a 1 or a 0. Alive or Dead.-
  •  16-11-2008, 08:04 46245 σε απάντηση της 46228

    Απ: LINQ loop into a dynamic Table and columns!

    anyone Confused ?
    This Business Is Binary. You are a 1 or a 0. Alive or Dead.-
  •  16-11-2008, 11:20 46246 σε απάντηση της 46245

    Απ: LINQ loop into a dynamic Table and columns!

    Δεν είμαι σίγουρος ότι κατάλαβα το ερώτημά σου - δεν ξέρω αν είναι από την προσαρμογή στην βαβούρα του σπιτιού, ή από την ένταση της εβδομάδας.

    Φαντάζομαι ότι αυτό που ρωτάς είναι:

    • Έχουμε μια λίστα από αντικείμενα που με το LINQ κάνουμε μια αναζήτηση και έχουμε ένα resultset. Το resultset δεν έχει τον ίδιο τύπο με την λίστα που ξεκίνησε το query, αλλά διαφορετικό. Πως γίνεται να φτάσουμε στον αρχικό τύπο από αυτόν που ξεκινήσαμε...

    Αν και είναι σωστή η πρώτη προσέγγιση που έχεις στην λύση - η χρήση του LINQ - δεν ολοκληρώνεις την λύση σου με το ίδιο σκεπτικό. Εδώ η λύση του προβλήματος θα ήταν ο τελικός τύπος του LINQ query να είναι ακριβώς αυτό που χρειάζεσαι, και όχι κάτι που θα το μετατρέψεις μετά σε αυτό που χρειάζεσαι.

    Γενικά ένα resultset είναι ένα IQuerable<Τ>, όπου T ο τύπος του αντικειμένου που έχει ξεκινήσει το LINQ query.

    Έχω καταλάβει αυτό που ρωτάς;

     

    George J.


    George J. Capnias: Χειροπρακτικός Υπολογιστών, Ύψιστος Γκουράρχης της Κουμπουτερολογίας
    w: capnias.org, t: @gcapnias, l: gr.linkedin.com/in/gcapnias
    dotNETZone.gr News
  •  16-11-2008, 22:47 46253 σε απάντηση της 46246

    Απ: LINQ loop into a dynamic Table and columns!

    λογο ελειψεις ορολογιας πανο στο θεμα οπως ειπα δεν ξερω αν λεμε το ιδιο αλλα νομιζω πως Ναι.

    εχω ενα πινακα linq και αυτος εχει πεδια.

    looparo μεσα σε αυτον για να παρω μια τιμη απο ενα πεδιο....μεχρι εδω ολα οκ αν το κανεις απο designer γιατι  συνατσεις πανω σε συγκεκριμενο πινακα

    αλλα θελω κατα την διαρκεια που εκτελω την εφαρμογη, να αλλαξει ο πινακας και να ψαχνει στα νεα διαφορετικα πεδια, και φυσικα να ψαχνει σε αλλο πεδιο (που το εχω δωσει δυναμικα)

    για να παρει μια τιμη....

    αλλα απο οτι βλεπω δεν ειναι εφικτο!Sad

    αν το εκαν με sql quary θα ηταν καπως ετσι: βλεπε line 8

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    'trofodoto ta variables dinamika

    Dim myTable= "blabla"
    Dim myColumn= "blabla"
    Dim myID="blabla"


    Dim SQLselect as String = String.Format("SELECT {0} FROM {1} WHERE ID={2}", myTable, myColumn, MyID")

    MyConnection.execute(SQLselect)....b bla bla bla


    This Business Is Binary. You are a 1 or a 0. Alive or Dead.-
  •  18-11-2008, 08:00 46289 σε απάντηση της 46253

    Απ: LINQ loop into a dynamic Table and columns!

    Εφικτό είναι, αλλά ο τρόπος που το σκέφτεσαι δεν θα σου επιτρέψει να το κάνεις. Αν πχ θεωρήσεις ότι ο Table είναι αντικείμενο, όπως και η στήλη που θέλεις να κάνεις την αναζήτηση, τότε μπορείς να γράψεις μια function, πιθανώς με χρήση generics, που να κάνει δυναμικά το query σου.

    Αλλά, αυτό που θέλεις να κάνεις μοιάζει πιο πολύ σαν μια άσκηση που θες να κάνεις για να μάθεις, και ίσως και για αυτό δεν είναι εύκολο να το υλοποιήσεις. Σε κάποιο υλοποίηση που θα έκανες μέσα σε ένα πρόγραμμα δεν θα έφτιαχνες μια ρουτίνα που θα πέρναγες table και column για να κάνει queries - θα έγραφες κώδικα που θα ήταν μια ακολουθία queries και θα αντιπροσώπευε κάποιο bussines proccess, πχ, βρες μου τα πιο ακριβά προϊόντα, βρες μου ποια προϊόντα αγοράζονται περισσότερο.

      

    George J.


    George J. Capnias: Χειροπρακτικός Υπολογιστών, Ύψιστος Γκουράρχης της Κουμπουτερολογίας
    w: capnias.org, t: @gcapnias, l: gr.linkedin.com/in/gcapnias
    dotNETZone.gr News
  •  18-11-2008, 15:48 46301 σε απάντηση της 46289

    Απ: LINQ loop into a dynamic Table and columns!

    δεν προκειτε για γενικου ενδιαφεροντος ερωτηση αλλα για πραγματικο προβλημα σε εργο.

    με sql βρεθηκε η λυση θελω να μαθω να το κανω και με linq εφοσον ειναι εφικτο οπως λες. καποιο παραδειγμα θα βοηθουσε 

    σε ευχαριστω


    This Business Is Binary. You are a 1 or a 0. Alive or Dead.-
  •  19-11-2008, 18:10 46347 σε απάντηση της 46301

    Απ: LINQ loop into a dynamic Table and columns!

    Μόλις έκανα τη μετάβαση από .NET 2.0 σε .NET 3.5 οπότε, όπως καταλαβαίνεις, είμαι στην αρχή του ψαξίματος. Απ' ό,τι φαίνεται, ο πιο εύκολος τρόπος για να κάνεις αυτό που ζητάς είναι μέσω του ExecuteQuery() method του DataContext. Αν θες κάτι που ακολουθεί το πνεύμα της απάντησης που σου έδωσε ο Γιώργος Καπνιάς ρίξε μια ματιά στο άρθρο: Building LINQ Queries at Runtime in C#. Αν ψάχνεις για κάτι "υβριδικό" η καλύτερη λύση είναι το LINQ Dynamic Query Library. Κάποιος που έχει ασχοληθεί περισσότερο από εμένα με το LINQ ίσως σου δώσει περισσότερες πληροφορίες και σου λύσει πιο προχωρημένες απορίες.


    Ακόμα κι ένας άνθρωπος μπορεί ν' αλλάξει τον κόσμο. Μη θέλεις να κυβερνήσεις. Απλά δείξε το μονοπάτι κι ο κόσμος θ' ακολουθήσει!!
  •  20-11-2008, 05:12 46365 σε απάντηση της 46347

    Απ: LINQ loop into a dynamic Table and columns!

    tnx  αυτο το αρθρο εχει την λυση, βεβαια εγω γραφω vb αλλα θα καταλαβω...Smile
    This Business Is Binary. You are a 1 or a 0. Alive or Dead.-
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems