带有实体框架的SqlCommand [英] SqlCommand with Entity Framework

查看:85
本文介绍了带有实体框架的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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆