如何将此SQL转换为LINQ?
我现在正在读,但只是把它放在那里,以防我做不到。
SqlConnection connection = new SqlConnection
{
ConnectionString = ConfigurationManager.ConnectionStrings["HBOS"].ConnectionString
};
connection.Open();
foreach (ExchangeRateData x in exchangeRateDatas.ExchangeRateDataList)
{
SqlCommand cmd = new SqlCommand("UPDATE dbo.CurrencyExchange " +
"SET Rate = '" + x.Rate + "', DateTimeStamp = CAST('" + x.TimeStamp +
"' AS DATETIME), CreatedBy = '" + x.CreatedBy + "', RateInv = '" +
x.RateInv + "' " +
"WHERE Currency = '" + x.ToCurrency + "';", connection);
// Sql query and connection
cmd.ExecuteNonQuery();
}
connection.Close();
创建dbcontext
第一个
然后
CurrencyExchange CurrencyExchangeObject = context.CurrencyExchange
.Where(a => a.Currency = x.ToCurrency)
.FirstOrDefault();
之后,您可以简单地分配值像
CurrencyExchangeObject.Rate = x.Rate;
CurrencyExchangeObject.DateTimeStamp = Convert.ToDateTime(x.TimeStamp);
然后简单地说
context.SaveChanges();
听起来您的老板正在寻找LINQ to SQL实现。不幸的是,您的问题没有一个快速的答案,因为添加此功能需要的不仅仅是"将查询转换为LINQ",因为要设置您的环境来支持它,还需要做很多事情。
你可能想从这个主题的一些基本谷歌搜索开始:
第一对结果:
http://weblogs.asp.net/scottgu/archive/2007/05/19/using-linq-to-sql-part-1.aspxhttp://msdn.microsoft.com/en-us/library/bb386976(v=vs.110).aspx
LINQ to SQL有一个更广泛使用的表亲,称为实体框架,它不依赖于SQL Server。你也可以考虑一下。