我看了一些EF教程,但是我不知道幾件事情。我目前正在使用ADO與SQL服務器數據庫交互的.net測試項目中工作。現在我必須將ADO部分傳遞給實體框架。 我目前正在使用3層,業務,對象和DataAcess。從ADO到實體框架的ASP/C#
在DA中,我有以下查詢來從我的網站更新Employee表。它的工作原理,但我想通過使用Linq將它傳遞給實體框架。我還有其他一些插入和選擇的例子,但是我確信一旦我能夠對它進行排序,我就能找到它們。
注意:我已經使用實體框架將我的DataAccess類與數據庫連接起來,實體列表對象稱爲ListEntities。
SqlConnection conn = new SqlConnection();
try
{
SqlCommand comm;
string connectionString = ConfigurationManager.ConnectionStrings["Test"].ConnectionString;
conn = new SqlConnection(connectionString);
comm = new SqlCommand("UPDATE Employee SET [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected] WHERE [email protected]", conn);
comm.Parameters.Add("@Name",
System.Data.SqlDbType.VarChar, 70);
comm.Parameters["@Name"].Value = User.Name;
comm.Parameters.Add("@Lname",
System.Data.SqlDbType.VarChar, 70);
comm.Parameters["@Lname"].Value = User.Lname;
comm.Parameters.Add("@Age",
System.Data.SqlDbType.Int);
comm.Parameters["@Age"].Value = User.Age;
comm.Parameters.Add("@Email",
System.Data.SqlDbType.NVarChar, 70);
comm.Parameters["@Email"].Value = User.Email;
comm.Parameters.Add("@AYear",
System.Data.SqlDbType.Int);
comm.Parameters["@Year"].Value = User.Year;
comm.Parameters.Add("@ColorID",
System.Data.SqlDbType.Int);
comm.Parameters["@ColorID"].Value = User.ColorID;
comm.Parameters.Add("@AvatarID",
System.Data.SqlDbType.Int);
comm.Parameters["@AvatarID"].Value = User.AvatarID;
comm.Parameters.Add("@EmployeeID",
System.Data.SqlDbType.Int);
comm.Parameters["@EmployeeID"].Value = User.UserID;
conn.Open();
comm.ExecuteNonQuery();
}
catch (Exception ex)
{
throw ex;
}
finally
{
conn.Close();
}
如果你只是要重新拋出它,不要捕捉異常。這樣做沒有意義。並且絕對不要在發現異常時拋出ex;否則將失去堆棧跟蹤。只要「扔」; – mason
FYI你可以單行這些:'comm.Parameters.Add(「@ Name」,System.Data.SqlDbType.VarChar,70).Value = User.Name;'保存集合查找。 –
不是我問過的,但很高興知道。 –