Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Dapper QuerySingleOrDefault doesn't return null

Tags:

c#

dapper

Why Dapper QuerySingleOrDefault doesn't return null? I use hard qwery. In result I have object with default fields. I ran this query in DB Browser for SQLite, It returned 0 rows.

public static Sensor GetSensor(string ip, string sensorName)
    {
        string sql = @"SELECT ip, name, invert, enable FROM DeviceAndOids AS A JOIN
                        DeviceForMonitoring AS B ON A.deviceForMonitoringKey=B.key JOIN
                        DeviceTypes AS C ON B.deviceTypeId=C.id WHERE 
                        oidForDeviceKey IN (SELECT key FROM OidsForDevice WHERE 
                        deviceTypeId IN (SELECT deviceTypeId FROM DeviceForMonitoring WHERE
                                ip = @ip) AND
                                name = @sensorName)";

        using (IDbConnection cnn = new SQLiteConnection(LoadConnectionString()))
        {
            var result = cnn.QuerySingleOrDefault<Sensor>(sql, new { ip, sensorName });
            return result;
        }
    }
like image 773
dmitriy Avatar asked Dec 30 '25 04:12

dmitriy


1 Answers

Sensor was struct . I changed it to class It works now

like image 80
dmitriy Avatar answered Jan 01 '26 18:01

dmitriy