簡體   English   中英

Dapper Query() 返回多個相同的列

[英]Dapper Query() returned multiple same column

我正在使用 dapper Query 方法從帶有左連接的 sqlite 獲取一組數據,它確實多次返回我需要的列。

我在 DB 瀏覽器上嘗試了這些查詢,它工作正常,

 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";

那我叫它

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;
}

我希望得到這樣的結果

| id | alert_tag | layer_name | line_name | task_name |

但我得到了這些

| id | alert_tag | layer_name | line_name | task_name | id | alert_tag | layer_name | line_name | task_name |

您可以使用: ExecuteReader 它將返回單個數據。 例子:

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

調試圖片

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM