带有实体框架的SqlCommand [英] SqlCommand with Entity Framework
本文介绍了带有实体框架的SqlCommand的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在使用Entity框架使用实体框架执行sql查询并使用
I am using Entity framework to execute sql query using entity framework and Successfully executed using
context.Database.ExecuteSqlCommand(strt)
成功执行它需要sql查询,现在我想要使用实体框架执行sqlcommand。我怎么做?
我的代码在下面
It takes sql query, now i want to execute sqlcommand using entity framework. How i can do it?
My Code Is Below
while (reader.Read())
{
StringBuilder MyStringBuilder = new StringBuilder("Insert into " + Tablename + "(");
StringBuilder CopyString = new StringBuilder("Insert into " + Tablename + "_Temp (");
for (int k = 1; k < validList.Count; k++)
{
MyStringBuilder.Append("@" + validList[k].ToString()).Append(",");
CopyString.Append("@" + validList[k].ToString()).Append(",");
}
MyStringBuilder.Remove(MyStringBuilder.Length - 1, 1);
CopyString.Remove(CopyString.Length - 1, 1);
MyStringBuilder.Append(")");
CopyString.Append(")");
SqlCommand MountCmd = new SqlCommand(MyStringBuilder.ToString(),Mcon);
ParamArrayAttribute
for (int a = 1; a < validList.Count; a++)
{
s = reader[a].ToString();
MountCmd.Parameters.AddWithValue("@"+validList[a].ToString()+"", s);
}
try
{
context.Database.ExecuteSqlCommand(); //here i am trying to excute SqlCommand Object MountCmd
}
catch (Exception)
{
context.Database.ExecuteSqlCommand();
}
}
推荐答案
List< sqlparameter> parameters = new List< sqlparameter>();
List<sqlparameter> parameters = new List<sqlparameter>();
for (int a = 1; a < validList.Count; a++)
{
s = reader[a].ToString();
parameters.Add(new SqlParameter("@" + validList[a].ToString() + "", s));
}
context.Database.ExecuteSqlCommand(MyStringBuilder.ToString(),parameters.ToArray());
context.SaveChanges();
试试这样,使用<$ c进行更新查询$ c> ExecuteSqlCommand
string name = "tanweer";
long id = 10001;
var sql = @"Update [User] SET FirstName = {0} WHERE Id = {1}";
ctx.Database.ExecuteSqlCommand(sql, name, id);
这篇关于带有实体框架的SqlCommand的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文