使用oracle和petapoco获得行存在的最佳方法

时间:2013-10-11 09:36:58

标签: .net sql oracle petapoco

我正在尝试使用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);

1 个答案:

答案 0 :(得分:3)

使用PetaPoco,您应该能够使用API​​中的Exists方法重载,如下所示。

/// <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'");