2009-04-20 1 views
1

J'utilise quelque chose comme le code ci-dessus de l'échantillon mais lorsque je tente de l'exécuter, il est dit que la syntaxe de requête ne va pas et il y a une erreur dans la syntaxe de requête à proximité de mot-clé dans ...comment créer une requête d'insertion à la volée, dans entity framework en utilisant la méthode create query?

System.Data.Objects.ObjectParameter[] opc=new System.Data.Objects.ObjectParameter[1]; //sample 
opc[0]=new System.Data.Objects.ObjectParameter("columnname","columnvaluetoinsert") 
string strQuery="insert into tablename(columnname)values(@columnname)"; 
var query1 = entities.CreateQuery<System.Data.Objects.DataClasses.EntityObject>(strQuery, opc); 
query1.Execute(System.Data.Objects.MergeOption.NoTracking); 
+0

Il est très probablement un Bett façon d'effectuer votre insertion puis de créer une requête «à la volée». Pouvez-vous fournir plus de détails sur ce que vous essayez de faire? – bendewey

+0

En fait, je dois créer une méthode commune à travers je peux insérer les données dans certaines tables qui ont des noms et des numéros de colonnes similaires. – gaurav

Répondre

0

maintenant, après plus de quatre mois pour que je puisse répondre à cette ...

string tableName = "yourTableName"; 
string PrimaryColName = "PrimarykeyName"; 

using(Entities entities = new Entities) 
{ 
    string sQuery= " select value " + tableName + " from " + tableName + " as " + tableName; 
sQuery += " where "; 
sQuery += tableName + ".PrimaryColName " = " + lngMasterId; 

System.Data.Objects.ObjectQuery query = new System.Data.Objects.ObjectQuery(sMasterTableName, entities); 
//where entities is the object of your objectContext class :) 
return query.First();//do whatever you want with the result 
} 

ici "value" après la "select" dit de donner le résultat dans le format personnalisé anonyme

Questions connexes