3

Oracle と Petapoco を使用して行の存在を取得しようとしています。これまでのところ、次のコードがあります。

var sql =new Sql("select COUNT(*) FROM myTable where field = 'value'");
var exists = myDB.Query<int>(sql) > 0;

データベースとアプリケーションの間で作業を分割しているので、これはちょっと汚い感じがします。次のようなことができる方法はありますか?

var exists = myDB.Query<bool>(someNewSqlThatReturnsBool);
4

1 に答える 1

3

ExistsPetaPoco を使用すると、API から以下に示すようにメソッド オーバーロードを使用できるはずです。

/// <summary>
/// Checks for the existance of a row matching the specified condition
/// </summary>
/// <typeparam name="T">The Type representing the table being queried</typeparam>
/// <param name="sqlCondition">The SQL expression to be tested for (ie: the WHERE expression)</param>
/// <param name="args">Arguments to any embedded parameters in the SQL statement</param>
/// <returns>True if a record matching the condition is found.</returns>
public bool Exists<T>(string sqlCondition, params object[] args) 

したがって、次のように呼び出すことができるはずです。

var exists = myDB.Exists<myTable>("field = 'value'");
于 2014-04-10T19:47:23.753 に答える