AiNoTame

Dio è nella pioggia.
posts - 17, comments - 79, trackbacks - 0

EntityFramework

EF 5 - IS NULL <> = NULL

EF 5 aggiunge una importante opzione di configurazione riguardante la "traduzione" delle lambda con parametri NULL: UseCSharpNullComparisonBehavior. Se impostata a true, il comportamento è simile al comportamento che noi Dev siamo abituati con il valore null di C#. Ma andiamo con ordine: Tabella: Id    Name 1    Uno 2    NULL 3    NULL 4    due 5    tre Codice: result = db.NullableTables.Where(e => e.Name == null).Count(); Console.WriteLine("Entries...

posted @ venerdì 17 maggio 2013 22:33 | Feedback (0) | Filed Under [ EntityFramework ]

EF CodeFirst Load data

Capita, soprattutto nel metodo Seed del IDatabaseInitializer<CTX> o nel nuovo DbMigrationsConfigurations<CTX>, di caricare una certa quantità di dati passando dal DbContext (nel mio caso da una piccola applicazione che parsa alcuni file). Se questa quantità di dati è cospiqua (10000 oggetti), ci si potrebbe ritrovare a perdere un po' di tempo (2 minuti) aspettando che vengano aggiunti al contesto tutti i dati (non sto parlando del tempo di salvataggio, ma di aggiunta al contesto). Ciò è dovuto al fatto che ogni chiamata al metodo DbSet<Entity>.Add(new object()) chiama implicitamente ObjectContext.DetectChanges(). Per evitare questo, basta impostare: Context.Configuration.AutoDetectChangesEnabled = false; Attenzione tuttavia all'uso: "these options are advanced and can potentially...

posted @ mercoledì 21 marzo 2012 13:07 | Feedback (0) | Filed Under [ EntityFramework ]

[LightSwitch] Utilizzare l'ObjectContext ApplicationData da WCF Ria Service

LightSwitch permette di creare/gestire un database al suo interno senza utilizzare strumenti esterni. Questo DB è chiamato ApplicationData e verrà generato in produzione, in fase di deploy, utilizzando una connection string impostata tramite widzard. Cosa avviene in pratica:  - La connessione viene memorizzata, sempre con lo stesso nome "_IntrinsicData", all'interno del web.config deployato.  - l'ObjectContext di EF viene autogenerato nel file ServerGenerated\GeneratedArtifacts\ApplicationData.cs Per utilizzare l'ObjectContext in un WCF Ria Service quindi basta:  - Aggiungere il file al progetto WCF Service (As Link dato che verrà rigenerato)  - Recuperare l'ObjectContext nel seguente modo: EntityConnectionStringBuilder builder = new EntityConnectionStringBuilder();builder.Metadata = "res://*/ApplicationData.csdl|res://*/ApplicationData.ssdl|res://*/ApplicationData.msl";builder.Provider = "System.Data.SqlClient";builder.ProviderConnectionString = WebConfigurationManager.ConnectionStrings["_IntrinsicData"].ConnectionString;var context = new ApplicationDataObjectContext(builder.ConnectionString); In questo modo è possibile:  - eseguire query complesse sul nostro db applicativo (quelle supportate dal provider di EF)  -...

posted @ mercoledì 30 novembre 2011 00:20 | Feedback (40) | Filed Under [ LightSwitch EntityFramework WCF ]

Powered by:
Powered By Subtext Powered By ASP.NET