c# - 如何使用 ADO.NET、IDbConnection 和 IDbCommand 使 C# 代码更简洁?

标签 c# database ado.net parameters verbosity

无论如何我可以使这个数据库代码更短吗?它工作正常,但看起来非常冗长和重复。我想用方法包装其中的一些会更好,但是是否可以进行其他改进来缩短它?

using (IDbConnection theConn = GetDatabaseConnection())
using (IDbCommand theCmd = theConn.CreateCommand())
{
    theCmd.CommandText = @"INSERT INTO table(one, two, three,four)
                                   VALUES (@one,@two,@three,@four)";
    var parameterOne = theCmd.CreateParameter();
    parameterOne.ParameterName = "@one";
    parameterOne.Value = "text";
    theCmd.Parameters.Add(parameterOne);

    var parameterTwo = theCmd.CreateParameter();
    parameterTwo.ParameterName = "@two";
    parameterTwo.Value = "text";
    theCmd.Parameters.Add(parameterTwo);

    var parameterThree = theCmd.CreateParameter();
    parameterThree.ParameterName = "@three";
    parameterThree.Value = "text";
    theCmd.Parameters.Add(parameterThree);

    var parameterFour = theCmd.CreateParameter();
    parameterFour.ParameterName = "@four";
    parameterFour.Value = "text";
    theCmd.Parameters.Add(parameterFour);

    theCmd.ExecuteNonQuery();
 }

最佳答案

如果您不想使用完整的 OR/M 为什么不尝试 Dapper

关于c# - 如何使用 ADO.NET、IDbConnection 和 IDbCommand 使 C# 代码更简洁?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8091214/

相关文章:

c# - 什么是非托管对象?

c# - 使用 C# 读取数百万个小文件

c# - 我可以持有同一后代的对象类型列表<>吗?

c# - 字符串中的转义序列

sql - 编写用于部署的 SQL 脚本的最佳实践

c# - 如何在后台调用存储过程?

php - 从基础中选择时间作为 UNIX_TIMESTAMP(time) laravel 5

r - 按数据集中的外观对交叉表的列和行进行排序

c# - 我需要解决 Excel 猜测数据类型问题的方法

c# - 从一个数据库表复制到另一个 C#