Здравствуйте, sLMoloch.
Вам видимо надо применить разновидность фаулеровского паттерна Identity Map.
Суть его состоит в том, чтобы хранить соответствие между DomainObject и DataRow внутри маппера в виде коллекции.
примерно вот так (набросок, чтобы понять идею):
public abstract class MappingObject
{
protected IDictionary<Key, ModelObject> MappedObjects = new Dictionary<Key, ModelObject>();
protected IDictionary<Key, DataRow> ObjectRows = new Dictionary<Key, DataRow>();
protected ModelObject Find(Key key)
{
//TODO: сначала поищем в MappedObjects
}
protected void Save(ModelObject modelObject)
{
DataRow objectRow = ObjectRows[modelObject.key];
//TODO
}
тогда ссылку на DataRow внутри BO можно сделать protected