Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 迭代Linq表达式并将其转换为sqlparameter_C#_.net_Linq - Fatal编程技术网

C# 迭代Linq表达式并将其转换为sqlparameter

C# 迭代Linq表达式并将其转换为sqlparameter,c#,.net,linq,C#,.net,Linq,由于映射可以由Enterlib 5.0编写如下代码 .Map(p => p.ID).ToColumn("ID").Map(p => p.Version).ToColumn("ver") 现在我想让AddInParameter具有相同的功能, 以数据库对象为例,请参见 Database db=DatabaseManager.Create(); db.GetStoredProcCommand(“Stored procedure Name”); 所以我想用这样的参数来封装构造函数 db

由于映射可以由Enterlib 5.0编写如下代码

.Map(p => p.ID).ToColumn("ID").Map(p => p.Version).ToColumn("ver")
现在我想让AddInParameter具有相同的功能, 以数据库对象为例,请参见

Database db=DatabaseManager.Create();
db.GetStoredProcCommand(“Stored procedure Name”);
所以我想用这样的参数来封装构造函数

db.SetParamter("@Parameter1",value).SetParamter("@Parameter2",2)
                                   .SetParamter("@Parameter3",3).Build();
设置好db的参数后,就可以执行命令db.ExecuteNonQuery

如何使用Expression>&将其转换为SQLParameter


谢谢…

救援的扩展方法

假设您使用的是ADO.NET SqlClient

public static class Extensions
{
    public static Database SetParameter(this Database db, string name, object value)
    {
        if (db == null) throw new ArgumentNullException();

        DbCommand command = db.CurrentCommand; // or whatever
        command.Parameters.AddWithValue(name, value);

        return db;
    }
}