Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Dapper Query() returned multiple same column

I'm using dapper Query method to fetch a set of data from sqlite with left join, it does return the column i need but multiple times.

i tried these query on DB Browser it works fine,

 string sql =
         @"select a.id, a.alert_tag, lyr.layer_name, ln.line_name, t.task_name from alert_tag a
              LEFT JOIN layer_group lyr on lyr.layerID = a.layer_group
              LEFT JOIN line ln on ln.lineID = a.line
              LEFT JOIN task t on t.taskID = a.task";

then i call it,

using (IDbConnection cnn = new SQLiteConnection(Tools.LoadConnectionString()))
{
    var output = cnn.Query<dynamic>(sql);
    return output.ToList();
}
List<dynamic> Alerttag_List = new List<dynamic>();

private void LoadDGVdata()
{
     Alerttag_List = SqliteQuery_AlertTagModel.Load();
     dgv_AlertTag.DataSource = Alerttag_List;
}

I expected to get result like these

| id | alert_tag | layer_name | line_name | task_name |

but i got these

| id | alert_tag | layer_name | line_name | task_name | id | alert_tag | layer_name | line_name | task_name |
like image 215
espifi059 espifi059 Avatar asked Dec 09 '25 05:12

espifi059 espifi059


1 Answers

You can use: ExecuteReader. it will return single data. Example:

public dynamic GetTableData(string schemaName, string tableName)
        {
            string sql = $@"select * from {schemaName}.{tableName}";
            var tableData = _sqlConnection.ExecuteReader(sql);
            return tableData;
        }

Debug Pic

like image 129
Chandra Shakar Avatar answered Dec 10 '25 18:12

Chandra Shakar



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!