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



由于地图可以用Enterlib 5.0编写如下代码,

.Map(p => p.ID).ToColumn("ID").Map(p => p.Version).ToColumn("ver")

现在我想让AddInParameter具有相同的特性,以一个Database对象为例,参见

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。净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;
    }
}

相关内容

  • 没有找到相关文章

最新更新