私はいくつかのEFチュートリアルを見ましたが、いくつかを理解することはできません。私は現在、ADOを使用してSQLサーバーデータベースと対話する.netテストプロジェクトに取り組んでいます。 ADOの部分をエンティティフレームワークに渡す必要があります。 私は現在、ビジネス、オブジェクト、DataAcessの3つのレイヤーを扱っています。ADOからEntity FrameworkへのASP/C#
私は、私のWebサイトからEmployeeテーブルを更新するための次のクエリを持っています。それは動作しますが、Linqを使用してこれをEntity Frameworkに渡したいと思います。私はこのようないくつかのケースをinsertとselectで持っていますが、これを一度ソートすることができたら、それらを理解することができます。
注:DataAccessクラスは既にEntityフレームワークを使用してデータベースに接続されており、エンティティリストオブジェクトは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();
}
再スローする場合は例外をキャッチしないでください。それには何の意味もありません。捕獲された例外に対して 'throw ex;'をしないと、スタックトレースが失われます。ちょうど 'スローする '。 – mason
FYIコレクションの参照を保存するには、 'comm.Parameters.Add(" @ Name "、System.Data.SqlDbType.VarChar、70).Value = User.Name;'を1行にすることができます。 –
本当に私が尋ねたことはありませんが、知っておきたいことです。 –