我将FluentData用作数据库的orm,并尝试创建通用查询方法:
internal static T QueryObject<T>(string sql, object[] param, Func<dynamic, T> mapper)
{
return MyDb.Sql(sql, param).QueryNoAutoMap<T>(mapper).FirstOrDefault();
}
Run Code Online (Sandbox Code Playgroud)
除了我班上的职能:
public class MyDbObject
{
public int Id { get; set; }
}
public static MyDbObject mapper(dynamic row)
{
return new MyDbObject {
Id = row.Id
};
}
public static MyDbObject GetDbObjectFromTable(int id)
{
string sql = @"SELECT Id FROM MyTable WHERE Id=@Id";
dynamic param = new {Id = id};
return Query<MyDbObject>(sql, param, mapper);
}
Run Code Online (Sandbox Code Playgroud)
在Query<MyDbObject>(sql, param, mapper)编译器上说:
An anonymous function or …