public EntityMemberInfo(EntityInfo entity, MemberKind kind, string name, Type dataType) { Entity = entity; Kind = kind; MemberName = ColumnName = DisplayName = name; DataType = dataType; if (DataType.IsNullableValueType()) { Flags |= EntityMemberFlags.Nullable; } //Set to nullable if it is Nullable generic if (DataType == typeof(decimal) || DataType == typeof(decimal?)) { this.Precision = 18; //defaults this.Scale = 4; } this.AreValuesEqual = MemberValueGettersSetters.AreObjectsEqual; //Assign default get/set handlers and to-from string converters, and comparer method MemberValueGettersSetters.AssignDefaultGetSetHandlers(this); StringConverters.AssignStringConverters(this); Entity.AddMember(this); }