我正在尝试编写一个通用方法来调用DB记录。
所有工作除了使方法有用之外我还需要传递WHERE名称值...以及要匹配的值。
像这样......
T values = db.SingleOrDefault<T>("WHERE " + name + " = @0", value);
这可行,但它有点笨拙!
string sql = "WHERE " + name + " = @0";
T values = db.SingleOrDefault<T>(sql, value);
可以用不同的语法完成吗?
由于
答案 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);