Passa ai contenuti principali

Post

Visualizzazione dei post con l'etichetta Entity Framework

Entity Framework OnDelete Cascade

Problema : rendere funzionanate in Entity Framework l'ON CASCADE DELETE settato tramite SQL DDL in SqlServer. Dopo un Update del modello visuale l'"ON CASCADE DELETE" non viene mai correttamente riportato negli schemi xml del modello (è un comportamento previsto: vedi msdn ). Soluzione : Nel designer dell'edmx bisogna selezionare il collegamento (la FK) e manualmente impostare il valore di End1Ondelete (o End2Ondelete) su "Cascade". Purtroppo nel mio caso questa modifica interrompe la generazione "one click" del modello a partire dal db. In un post suggeriscono una strada automatica (che non ho provato) per ottenere questa modifica. Spero vivamente che implementino questa funzionalità nelle prossime versioni di EF.

Entity Framework: SqlException Line 7: Incorrect syntax near '('

La stringa SQL generata per il comando linq2Entity First funziona correttamente con SQL server 2008. L'sql generato è SELECT TOP(1) ... Per potersi collegare ad un DB SqlServer2005 serve modificare nei metadati la proprietà ProviderManifestToken ="2005". Emerge a questo punto l'errore che da il titolo al post: ogni chiamata a FirstOrDefault o First esplode riportando il messaggio sibillino. L'inghippo è proprio l'SQL generato: TOP (1) sembra indigesto a sql server 2005. La soluzione: usare come livello di compatibilità 2000 per la proprietà ProviderManifestToken. La query generata è Top 1... , senza parentesi, e funziona su SqlServer2005 Q uesto post nei forum microsof illustra un problema simile e la soluzione.

Debugging Entity Framework Connection String

Caso: Applicazione Windows Forms. Lo strato di accesso ai dati è confinato in una dll satellite. La stessa dll contiene il modello edmx. Dove devo mettere il file App.Config con la Connection String? Soluzione: App.Config che contiene la ConnectionString deve appartenere al progetto dell'eseguibile (se App.Config appartiene alla dll satellite verrà ignorato a runtime anche se viene specificata una regola di deploy che lo copia nella directory corretta). Risultato: Il contenuto del file App.config, una volta installato il programma, verrà copiato nel file di configurazione dell'eseguibile che verrà rinominato in "NomeEseguibile.exe.config" , notare che quindi serve un file i configurazione per ogni eseguibile del nostro progetto. Questo e altre preziose infomazioni sulla ConnectionString per Entity Framework in Troubleshooting Entity Connection String

Entity Framework 4: Lambda Expression inside Include()

La CTP4 (community preview) di EF4 introduce una nuova variante di .Include() che ammette come argomento una lambda expression, anzichè una pericolosissima time-bomb string. Con questa nuova feature EF4 è per me completo (a dire il vero una cosa manca: la resurrezione delle entità cancellate dall'editor visuale del modello....)

EF Tricks

UpdateModel di un'entity dipendente da una tabella di decodifica di cui ho appena cambiato il valore tramite una DropDownList? http://stackoverflow.com/questions/922402/strongly-typed-asp-net-mvc-with-ado-net-entity-framework non dimenticare la skiplist nell'UpdateModel zone.Customer = _context.Customers.First (c => c.Id == zone.Customer.Id);

Entity Framework - Condition Cannot be specified

In attesa del rilascio ufficiale di VS2010, bisogna fare i conti con un baco nella versione RC riguardo all'entity framework. Caso: un campo nullable della tabella principale riferisce una tabella secondaria. La chiave primaria della tabella secondaria è di tipo identity (autogerata). Entity framework erroneamente marca come autogerata ( StoreGeneratedPattern="Identity" ) anche la proprietà della tabella Principale. Il link per votare il baco su microsoft connect e un workaround. In breve il workaround consiste nel rimuovere la specifica ( StoreGeneratedPattern="Identity" ) per i campi incriminati (il listato xml si può editare direttamente in visual studio: tasto destro sul file .edmx nel solution explorer e poi "edit xml").

Entity Framework

Linq2Sql è un'ottimo generatore di classi per il nostro DataLayer. E comunque ora di fare il passo successivo. Una serie di video con la panoramica sugli strati di accesso ai dati. Il blog del team di ADO.NET. Le stringhe di Connessione (MSDN) Sql Server Profiler For Sql Server Express (un progetto opensource).