我正在使用带有 Dapper.SimpleCrud 扩展的 Dapper。
在我的 Dapper 类中,我对 insert 方法进行了抽象,如下所示:
public static int Insert(object entity) {
try {
using (SqlConnection sqlConnection = new SqlConnection(connectionString)) {
sqlConnection.Open();
return sqlConnection.Insert(entity) ?? -1;
}
}
catch(Exception ex) {
// log
return -1;
}
}
这让我可以调用 insert 并传递数据库中任何类型的对象。当前调用此方法的代码如下所示:
DapperORM.Insert(new Menu {
RestaurantID = RestaurantID,
Name = Name});
这会引发一个错误:{"Incorrect syntax near ')'."}
好的,所以现在我认为我传入的数据或其他东西有些奇怪。但不是。当我将自己的 Insert 方法更改为采用Menu
-object 而不是 generalobject
时,它可以工作。
Dapper.SimpleCrud Insert 重载方法显然无法确定它是哪个对象。你知道如何解决吗?