我不确定我是否清楚标题,但我想将SQL Server数据库中的信息“加载”到对象列表中。我是c#的新手,老实说,有一段时间没有做任何编码。
本质上,表格将包含列:app_name,app_type,app_disposition,对象具有属性:name,type,disposition。我有我想要使用Dapper工作的东西,只是使对象属性与表列相同。
只是好奇你是否可以加载但使用不同的对象属性名称。
使用Dapper,最简单的解决方案是使用别名。
你的班级是:
public class MyPoco
{
public string Name {get;set;}
//Declare other properties here
}
并且,您填写此类如下:
string sql = "SELECT app_name as Name, [include other columns here]
FROM MyTable";
using (var conn = GetOpenConnection())
{
var myPocoList = conn.Query<MyPoco>(sql);
}
上面的GetOpenConnection
方法根据您的RDBMS简单地返回开放连接。
请注意,还有许多其他方法可以映射未匹配列和属性名称。有关详细信息,请参阅this问答。
是的,您可以,并且必须使用“自定义映射”功能。这是我在这个主题上写的详细文章,以及代码示例,以展示如何做到这一点。
https://medium.com/dapper-net/custom-columns-mapping-1cd45dfd51d6
提示:使用Dapper.Fluent-Map插件