有~100个父表,所有表都以RECID作为其标识列。没有两个父母包含相同的RECID。有一个带有外键的子表,RECID。
我尝试使用以下想法,根据用户需求,100个表域中的模糊变化:
var stuff = _d.Query<dynamic, sameAgain, dynamic>(
new Relator().relatem,
"select * from nebulous as n left join sameAgain on n.RECID = RECID"
);
...
class dynamic Relator {
relatem(dynamic parent, sameAgain child)
{
// inspired by the most recent blog Multi-POCO in PetaPoco
... (parent as IDictionary<string, object>)["RECID"] ...
}
}
没有骰子。我进入那里并感到困惑,因为调试器显示的对象不是父级的ExpandoObjects。所以我尝试用ExpandoObject替换动态。
仍然没有骰子。所以它仍然是一个有趣的死胡同。有人试过吗?
答案 0 :(得分:0)
默认情况下,PetaPoco会在PetaPoco.cs文件顶部使用“#define PETAPOCO_NO_DYNAMIC”禁用动态功能。如果要使用动态功能,请注释掉该行并重建(这当然需要.net 4.0)。如果启用了动态功能并且查询成功,则在调试而不是对象时,记录将显示为ExpandoObject。