public virtual Model Find(PrimaryKey id) { var dbModel = _context.Find <DbModel>(id); Model model; if (typeof(Model) == typeof(DbModel)) { model = (Model)(object)dbModel; } else { model = _modelConverter.CopyProperties(dbModel, new Model()); } foreach (var eventx in _events) { eventx.Found(model); } return(model); }