如何在内部类模型中映射表中的列
本文关键字:映射 模型 内部类 | 更新日期: 2023-09-27 18:09:00
我有sql表tbl_persons与字段:first_name, last_name, first_name_eng, last_name_eng.
And a Model:
public class PersonName
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
public class Person
{
public PersonName Name { get;set; }
public PersonName NameEng { get;set; }
}
如何将行从tbl_persons映射到Person对象?
可以使用Dapper的Multi-Mapping API
应该可以正常工作。
var result = new List<Person>();
var q = "SELECT null as S, first_name as FirstName,
last_name AS LastName,first_name_eng AS FirstName,
last_name_eng AS LastName FROM tbl_persons";
using (var con = new SqlConnection("YourConnStringHere")
{
result = con.Query<Person, PersonName,PersonName, Person>(q, (p,n,ne) =>
{ p.Name = n; p.NameEng =ne; return p; },
splitOn: "FirstName,FirstName").ToList();
}
注意:您需要null as S
作为虚拟列,即使您不在您的类中使用它。如果您不提供,您将得到当前类结构(没有非复杂类型属性)的错误