PetaPoco db.SingleOrDefault <t>传入name和value的位置

时间:2018-02-04 17:00:41

标签: petapoco

我正在尝试编写一个通用方法来调用DB记录。

所有工作除了使方法有用之外我还需要传递WHERE名称值...以及要匹配的值。

像这样......

T values = db.SingleOrDefault<T>("WHERE " + name + " = @0", value);

这可行,但它有点笨拙!

    string sql = "WHERE " + name + " = @0";
    T values = db.SingleOrDefault<T>(sql, value);

可以用不同的语法完成吗?

由于

1 个答案:

答案 0 :(得分:0)

如果困扰你,可以创建一个隐藏语法的扩展方法

    public static T SingleOrDefaultWithWhere<T>(this PetaPoco.Database db, string name, object value) {
        string sql = "WHERE " + name + " = @0";
        return db.SingleOrDefault<T>(sql, value);
    }

然后只需致电

T values = db.SingleOrDefaultWithWhere<T>(name, value);