using (var conn = new SqlConnection(ConnectionString))
using (var cmd = conn.CreateCommand())
{
cmd.CommandText = "[dbo].[Save]";
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add(new SqlParameter(
"Identity", SqlDbType.Int) { Value = item.Identity });
cmd.Parameters.Add(new SqlParameter(
"Name", SqlDbType.NVarChar, 50) { Value = item.Name });
cmd.Parameters.Add(new SqlParameter(
"Title", SqlDbType.NVarChar, 100) { Value = item.Title });
conn.Open();
cmd.ExecuteNonQuery();
}
Вот как это может выглядеть с Ent Lib :
// Note, that you don't need to specify connection string here,
// it will be automatically taken from a configuration file
var db = DatabaseFactory.CreateDatabase();
using (var cmd = db.GetStoredProcCommand("[dbo].[Save]"))
{
db.AddInParameter(cmd, "Identity", DbType.Int32, item.Identity);
db.AddInParameter(cmd, "Name", DbType.String, item.Name);
db.AddInParameter(cmd, "Title", DbType.String, item.Title);
db.ExecuteNonQuery(cmd);
}
Вы также можете использовать метод SqlHelper из Enterprise Library, чтобы упростить этот синтаксис.
SqlHelper.ExecuteNonQuery(connectinString,
CommandType.StoredProcedure, "[dbo].[Save]", new SqlParameter[]
{
new SqlParameter("Identity", item.Identity),
new SqlParameter("Name", item.Name),
new SqlParameter("Title", item.Title)
});