Sono un nuovo principiante del framework Entity.Impossibile trovare il metodo CreateQuery()
e non riesco a trovare il seguente metodo di CreateQuery()
perché non riesco a trovare questo metodo? !!
Sono un nuovo principiante del framework Entity.Impossibile trovare il metodo CreateQuery()
e non riesco a trovare il seguente metodo di CreateQuery()
perché non riesco a trovare questo metodo? !!
Poiché ESQL è stato considerato un caso di utilizzo avanzato, non esiste un'API semplice da DbContext
. È possibile accedere alla ObjectContext
che esegue il tuo DbContext
di fare ciò che si vuole:
((IObjectContextAdapter)context).ObjectContext.CreateQuery<Person>("esql..")
correlati: http://thedatafarm.com/blog/data-access/accessing-objectcontext-features-from-ef-4-1-dbcontext/
Come suggerito lì, si può anche aggiungere un metodo (o proprietà) ObjectContext
alla classe contesto:
public class BloggingContext : DbContext
{
public DbSet<Blog> Blogs { get; set; }
public DbSet<Post> Posts { get; set; }
public ObjectContext ObjectContext()
{
return (this as IObjectContextAdapter).ObjectContext;
}
}
Prima di tutto, questa non è la soluzione nativa per l'interrogazione in EF. Si prega di imparare il più LINQ possibile e poi, se si sa che si ha realmente bisogno i metodi alternativi, ricadere createQuery()
Ma, è possibile ottenere il risultato desiderato con la fusione per System.Data.Entity.Core.Objects.IObjectContextAdapter
in questo modo:
(context as IObjectContextAdapter).ObjectContext.CreateQuery
Inoltre, è possibile eseguire comandi SQL con:
context.Database.SqlQuery<>()
e context.Database.ExecuteSqlCommand()
Spero che questo aiuti
Non ne hai bisogno. Se è necessario recuperare i valori di 'PersonCreditCards', basta' context.PersonCreditCards.Where (criteri) '. Si chiama LinQ to Entities. Ricerca su questo. –
voglio imparare anche 'EntitySQLQuery'. voglio usare questo metodo :) –