2009-03-01 6 views
-2

ADO.NET EF ne supporte pas les choses comme Math.Pow et Math.Log alors je me demandais comment je pouvais contourner cela. Je dois être capable d'utiliser un ORDER BY sur une valeur calculée en utilisant ADO.NET EF.Le framework Entity contourne les méthodes non supportées

+0

pourquoi avez-vous besoin de commander par une puissance ou une session fonction? –

+0

C'est pour un système de notation. –

+0

toujours pas beaucoup de sens ... –

Répondre

2

Vous pouvez en utilisant Entity SQL, mais je ne le recommanderais pas

using System.Data.EntityClient; 

EntityConnection conn = new EntityConnection(myContext.Connection.ConnectionString); 
conn.Open(); 
EntityCommand cmd = conn.CreateCommand(); 
cmd.CommandText = @"Select SqlServer.Power(t.MyValue, 2) From MyEntities.MyTable As t"; 
var result = cmd.ExecuteReader(System.Data.CommandBehavior.SequentialAccess); 
result.Read(); 
var valuePower2 = result.GetValue(0); 
conn.Close(); 

Pour faire l'ordre dynamique par son et où les clauses utilisent Dynamic Linq