c# - Dapper 查询结果到 datagridview
问题描述
我已经映射了我的模型并在下面提出了以下代码。如何使用 datagridview 显示数据以及列名?
public class DivisionModel
{
public int id { get; set; }
public string DivisionName { get; set; }
}
public class EmployeeModel
{
public int id { get; set; }
public string FirstName { get; set; }
public string MiddleName { get; set; }
public string LastName { get; set; }
public DivisionModel Division { get; set; }
}
using (IDbConnection connection = new System.Data.SqlClient.SqlConnection(GlobalConfig.CnnString(db)))
{
var sql = @"SELECT * FROM[Employee] em JOIN Division dv ON em.DivisionId = dv.id";
var result = connection.Query<EmployeeModel, DivisionModel, EmployeeModel>(sql, (employee, division) => { employee.Division = division; return employee; });
result.ToList().ForEach(employee => MessageBox.Show(($"FirstName: {employee.FirstName},MiddleName: {employee.MiddleName}, LastName: {employee.LastName},Division: {employee.Division.DivisionName}")));
}
解决方案
通常,简单地将列表指定为数据源就足够了,即
var data = result.ToList();
// TODO: any debug code you want to inspect "data" here, as per your MessageBox.Show
yourGrid.DataSource = data;
注意:如果您BindingSource
针对 进行了配置DataGridView
,那么您将改为更新BindingSource
' 。DataSource
推荐阅读
- api - 不和谐.js | 如何检测 API 是否返回 null?
- dictionary - 我无法使用以下代码创建和更新字典
- azure - 在 ADF 部署时将 ADLS Gen1 转换为 Gen2
- css - Dialogflow Messenger CSS 变量列表
- mongodb - Mongo dB 查询过滤技术
- artificial-intelligence - 访问 CLIPS 中的值?
- sql - 当主题超过提供的限制时,查询删除主题的第一个添加元素
- android - 如何为 TextView 制作不透明背景
- php - 由于连接不安全(混合内容),Chrome 阻止了 PHP 文件下载
- django - 如何向 userchangeform 添加字段?