void CreateCoreMember(string name, Type owner, DBColumnType dataType, params PersistentAttributeInfo[] persistentAttributeInfos) {

            var extendedCoreTypeMemberInfo = new ExtendedCoreTypeMemberInfo(Session) { Name = name, Owner = owner, DataType = dataType };
            if (persistentAttributeInfos != null)
                foreach (var persistentAttributeInfo in persistentAttributeInfos) {
                    extendedCoreTypeMemberInfo.TypeAttributes.Add(persistentAttributeInfo);
                }
            extendedCoreTypeMemberInfo.Save();
            return;
        }
 public override void Update() {
     if (Session.FindObject<ExtendedCoreTypeMemberInfo>(info => info.Name == MinOfOrderTotals) != null) return;
     var extendedCoreTypeMemberInfo = new ExtendedCoreTypeMemberInfo(Session);
     extendedCoreTypeMemberInfo.TypeAttributes.Add(new PersistentPersistentAliasAttribute(Session) { AliasExpression = "Orders.Min(Total)" });
     extendedCoreTypeMemberInfo.TypeAttributes.Add(new PersistentVisibleInDetailViewAttribute(Session));
     extendedCoreTypeMemberInfo.TypeAttributes.Add(new PersistentVisibleInListViewAttribute(Session));
     extendedCoreTypeMemberInfo.TypeAttributes.Add(new PersistentVisibleInLookupListViewAttribute(Session));
     extendedCoreTypeMemberInfo.Owner = typeof(Customer);
     extendedCoreTypeMemberInfo.DataType = DBColumnType.Decimal;
     extendedCoreTypeMemberInfo.Name = MinOfOrderTotals;
     extendedCoreTypeMemberInfo.Save();
 }