64 messaggi dal 08 giugno 2010
Salve a tutti,
ho una applicazione dove comunicavo con il DB SQLexpress tramite il vecchio DataContext(Linq to SQL), ora volevo aggiornarmi al EntityFramework 4.3 dato che LinqToSql sta per sparire dalla circolazione.
Ora però ho una confusione pazzesca,
ho inserito nell'applicazione Ado.net EntityDataModel e la nuova dll facendo sparire il vecchio Linq to SQL, ma non riesco a capire se sto sfruttando tutte le potenzialità del EntityFramework 4.3 visto che esiste DBContext che dovrebbe essere l'ultima tecnologia.
Sto dicendo stupidagini???

come faccio a inserire il DBContext?
ho trovato nell'inserimento di un nuovo elemento di VisualStudio EF 4.x DbContext Generetor(.tt) che forse dovrebbe associarmi il mio file .edmx con la dipendenza della classe DBContext ma va in errore l'applicazione,



"Errore38Esecuzione trasformazione: System.Reflection.TargetInvocationException: Eccezione generata dalla destinazione di una chiamata. ---> System.IO.FileNotFoundException: Impossibile trovare il file
in Microsoft.VisualStudio.TextTemplating.VSHost.TextTemplatingService.ResolvePath(String path)
in Microsoft.VisualStudio.TextTemplating.VSHost.TextTemplatingService.ResolvePath(String path)
--- Fine della traccia dello stack dell'eccezione interna ---
in System.RuntimeMethodHandle._InvokeMethodFast(IRuntimeMethodInfo method, Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeType typeOwner)
in System.RuntimeMethodHandle.InvokeMethodFast(IRuntimeMethodInfo method, Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeType typeOwner)
in System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)
in System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
in Microsoft.VisualStudio.TextTemplating8F0F0BAFE26BFF9F3A15F5E6DEEE309B.GeneratedTextTransformation.DynamicHost.ResolvePath(String path)
in Microsoft.VisualStudio.TextTemplating8F0F0BAFE26BFF9F3A15F5E6DEEE309B.GeneratedTextTransformation.MetadataLoader.TryCreateEdmItemCollection(String sourcePath, String[] referenceSchemas, EdmItemCollection& edmItemCollection)
in Microsoft.VisualStudio.TextTemplating8F0F0BAFE26BFF9F3A15F5E6DEEE309B.GeneratedTextTransformation.MetadataLoader.CreateEdmItemCollection(String sourcePath, String[] referenceSchemas)
in Microsoft.VisualStudio.TextTemplating8F0F0BAFE26BFF9F3A15F5E6DEEE309B.GeneratedTextTransformation.TransformText()
in Microsoft.VisualStudio.TextTemplating.TransformationRunner.RunTransformation(TemplateProcessingSession session, String source, ITextTemplatingEngineHost host, String& result)"
64 messaggi dal 08 giugno 2010
ok ma come devo fare per utilizzare CodeFirst?
devo comunque inserire nel progetto Ado.Net Entity data model? o lo devo far sparire??

poi quelle famose classi del tipo..

public class ProductContext : DbContext
{
public DbSet<Category> Categories { get; set; }
public DbSet<Product> Products { get; set; }
}
public class Category
{
public string CategoryId { get; set; }
public string Name { get; set; }

public virtual ICollection<Product> Products { get; set; }
}

public class Product
{
public int ProductId { get; set; }
public string Name { get; set; }
public string CategoryId { get; set; }

public virtual Category Category { get; set; }
}

le devo scrivere a manina??
420 messaggi dal 23 marzo 2010
Contributi
Esatto. Crei le tue classi che rappresentano le tabelle nel tuo dv, poi ti crei il context e il gioco è fatto. Non hai bisogno del designer. Su aspitalia trovi un video di Stefano mostarda dove spiega per bene code first

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.