ili>а если серъезно, то проблема одна — как без метадаты понять чо делать? ili>вот в твоем примере, через какое место можно сообразить, что B.A.Id <=> BMap.AId?
Как-то так...
class A
{
public int Id{get;set;}
}
class B
{
public int Id{get;set;}
public A Aa{get;set;}
}
class BMap
{
public int Id{get;set;}
[MapField("Aa.Id")]
public int AId{get;set;}
}