说我有这两个表/域
[TableName("TableA")]
[PrimaryKey("TableAId")]
public class TableA
{
public int TableAId { get; set; }
public string City { get; set; }
public TableB TableB { get; set; }
public TableA()
{
TableB = new TableB();
}
}
[TableName("TableB")]
[PrimaryKey("TableBId")]
public class TableB
{
public int TableBId { get; set; }
public string Name { get; set; }
}
var sql = @" Select TableA.*, TableB.*
FROM TableA INNER JOIN
TableB ON TableA.TableBId = TableB.TableBID";
// peta poco
var result = db.Query<TableA, TableB>(sql);
当我执行此操作时,TableA.TableB
会被填充,TableA
ID会被填充但City
为空。我必须为每个列指定绑定。是否只使用星形而不是指定每列?
答案 0 :(得分:1)
你有什么应该工作,但我认为可能发生的是由于这些情况的发生:
TableBId
TableA
TableBId
TableA
属性
TableBId
部分TableA.*
之后开始映射的工作方式是按顺序遍历列,处理按以下方式进行: