[Linq2SQL] Domanda: come si fanno le query quando il datacontext non lo crea il designer di visual studio?
dops non è online. Ultima attività: 05/09/2008 13.59.03dops
Inserito il: 03 luglio 2008 15.53
796 messaggi dal 29 apr 2002 Istalla Microsoft Silverlight!
sembra incredibile ma in giro per la rete riesco a trovare solo esempi che fanno uso del datacontext creato dall'or designer di visual studio.. quindi non capisco come mai questo metodo non mi funzioni:

public static UserProfile RetrieveUserProfileByUserKey(int _userId)
        {
            var profile = DataContextHelper.Context.GetTable<UserProfile>();
            var result = from p in profile where p.Id == _userId select p;
            return result as UserProfile;
        }

non ci sono errori, ma mi ritorna un bel null.. ah! DataContextHelper è un mio oggetto.. niente di particolare.. l'ho fatto solo per non dover istanziare sempre il DataContext e annessa stringa di connessione.. anzi, dategli uno sguardo che ho qualche dubbio.. :D


public class DataContextHelper
    {
        private static DataContext context = null;
        public static DataContext Context
        {
            get
            {
                try
                {
                    if (context == null)
                    {
                        context = new DataContext(GetConnectionString);
                        return context;
                    }

                    return context;
                }
                catch
                {
                    throw new NullReferenceException("Cannot retrieve the DataContext");
                }
            }
        }

        private static string GetConnectionString
        {
            get
            {
                try
                {
                    return ConfigurationManager.ConnectionStrings["LocalSqlServer"].ConnectionString;
                }
                catch
                {
                    return null;
                }
            }
        }

    }

Microsoft Most Valuable Professional
RE: [Linq2SQL] Domanda: come si fanno le query quando il datacontext non lo crea il designer di visual studio?
nostromo non è online. Ultima attività: 05/09/2008 23.26.40nostromo
Inserito il: 03 luglio 2008 16.27
contributi / Top Poster / Community manager / www.soluzioni4d.it / Blog / 12053 messaggi dal 18 feb 2004 Istalla Microsoft Silverlight!
controlla di aver decorato bene le tue entità, e metti infunzione il Profile per vedere se viene effettivamente eseguita una query

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
RE: [Linq2SQL] Domanda: come si fanno le query quando il datacontext non lo crea il designer di visual studio?
dops non è online. Ultima attività: 05/09/2008 13.59.03dops
Inserito il: 03 luglio 2008 16.38
796 messaggi dal 29 apr 2002 Istalla Microsoft Silverlight!
si si, le entità sono decorate bene tanto che riesco anche a fare l'inserimento con linq, purtroppo non posso attivare il profile.. ho la versione express di sql server 2005 :(
che mi dici di quella classe DataContextHelper? :D

Microsoft Most Valuable Professional
RE: [Linq2SQL] Domanda: come si fanno le query quando il datacontext non lo crea il designer di visual studio?
nostromo non è online. Ultima attività: 05/09/2008 23.26.40nostromo
Inserito il: 03 luglio 2008 16.45
contributi / Top Poster / Community manager / www.soluzioni4d.it / Blog / 12053 messaggi dal 18 feb 2004 Istalla Microsoft Silverlight!
ho dei dubbi su questa riga

return result as UserProfile;

il metodo RetrieveUserProfileByUserKey ti ritorna null?

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
RE: [Linq2SQL] Domanda: come si fanno le query quando il datacontext non lo crea il designer di visual studio?
dops non è online. Ultima attività: 05/09/2008 13.59.03dops
Inserito il: 03 luglio 2008 16.50
796 messaggi dal 29 apr 2002 Istalla Microsoft Silverlight!
esatto mi ritorna null, cmq dal debugger riesco a vedere la query e riesco anche a vedere il tipo UserProfile con i dati provenienti dal db, probabilmente il problema è proprio lì, quando cerco di fare il cast, ma altrimenti non saprei cosa fare.. ho provato a fare anche una cosa del genere:

public static UserProfile RetrieveUserProfileByUserKey(int _userId)
        {
            Table<UserProfile> profile = DataContextHelper.Context.GetTable<UserProfile>();
            UserProfile result = from p in profile where p.Id == _userId select p;
            
            return result;
        }


ma mi viene fuori una eccezione :

Error 1 Cannot implicitly convert type 'System.Linq.IQueryable<AccessModule.UserProfile>' to 'AccessModule.UserProfile'. An explicit conversion exists (are you missing a cast?)

Microsoft Most Valuable Professional
RE: [Linq2SQL] Domanda: come si fanno le query quando il datacontext non lo crea il designer di visual studio?
nostromo non è online. Ultima attività: 05/09/2008 23.26.40nostromo
Inserito il: 03 luglio 2008 17.01
contributi / Top Poster / Community manager / www.soluzioni4d.it / Blog / 12053 messaggi dal 18 feb 2004 Istalla Microsoft Silverlight!
ultimamente sono un pò arrugginito con Linq To Sql, prova qualcosa tipo:


UserProfile result = (from p in profile where p.Id == _userId select p).Single();


ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
RE: [Linq2SQL] Domanda: come si fanno le query quando il datacontext non lo crea il designer di visual studio?
dops non è online. Ultima attività: 05/09/2008 13.59.03dops
Inserito il: 03 luglio 2008 17.05
796 messaggi dal 29 apr 2002 Istalla Microsoft Silverlight!
con questa sintassi:

UserProfile profile = DataContextHelper.Context.GetTable<UserProfile>().Single<UserProfile>(c => c.Id == _userId );
            return profile;

il tutto funziona.. ma avrei mille cose da capire !!!
a parte il fatto che questa sintassi è + difficile rispetto a quella simile all'sql, dal debugger ho notato che GetTable<T>() ritorna la lista completa delle righe nella tabella.. allora dico: CACCHIO!! un milione di record questo mi ritorna 1 milione di record????!!! allora devo stare proprio attento a questo GetTable<T>() !!!

In nhibernate ci sono due modi per fare le query, con la sintassi simile all'sql e la criteria queery.. criteria query è ovviamente + vicina alla sintassi oop, fosse fosse che anche in linq c'è questa situazione?

RE: [Linq2SQL] Domanda: come si fanno le query quando il datacontext non lo crea il designer di visual studio?
dops non è online. Ultima attività: 05/09/2008 13.59.03dops
Inserito il: 03 luglio 2008 17.06
796 messaggi dal 29 apr 2002 Istalla Microsoft Silverlight!
ahaha che situazione di cacca.. pensiamo e facciamo la stessa cosa :D



Pagine: [1] 2 3 4 Avanti >>
Vai a:
Torna al forum |   Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.


maltra - 761 pt
vladimiro - 502 pt
fabrica - 180 pt

Ultimi vincitori: fabrica, vladimiro, PeppeDotNet

Iscriviti anche tu e raccogli punti. Questo mese in palio VS 2008 + Windows Server 2008, ReShaper e 1 ebook!



COMMUNITY
ULTIMI MESSAGGI


IN EVIDENZA
MISC
Powered by .db Forums