private List <AdoParameterInfo> GetParametersForReferenceAndRegularColumns(object entity) { var parameters = new List <AdoParameterInfo>(); foreach (ReferenceInfo referenceInfo in References) { object referencedEntity = referenceInfo.PropertyInfo.GetValue(entity, null); PropertyInfo referencePrimaryKeyProperty = MetaInfoStore.GetTableInfoFor(referenceInfo.ReferenceType).PrimaryKey.PropertyInfo; if (referencedEntity == null) { parameters.Add(new AdoParameterInfo(referenceInfo.Name, referenceInfo.DbType, null)); } else { parameters.Add(new AdoParameterInfo(referenceInfo.Name, referenceInfo.DbType, referencePrimaryKeyProperty.GetValue(referencedEntity, null))); } } foreach (ColumnInfo columnInfo in ColumnInfos) { MemberTypes memberType = columnInfo.PropertyInfo.MemberType; TestMethod(entity, columnInfo.PropertyInfo); object val = columnInfo.PropertyInfo.GetValue(entity, null); parameters.Add(new AdoParameterInfo(columnInfo.Name, columnInfo.DbType, columnInfo.PropertyInfo.GetValue(entity, null))); } return(parameters); }
public ReferenceInfo(MetaInfoStore metaInfoStore, string name, Type referenceType, PropertyInfo propertyInfo) : base(metaInfoStore, name, metaInfoStore.GetTableInfoFor(referenceType).PrimaryKey.DotNetType, metaInfoStore.GetTableInfoFor(referenceType).PrimaryKey.DbType, metaInfoStore.GetTableInfoFor(referenceType).PrimaryKey.SqlDbType, propertyInfo) { ReferenceType = referenceType; }
public ColumnInfo(MetaInfoStore metaInfoStore, string columnName, Type dotNetType, DbType dbType, SqlDbType sqlDbType, PropertyInfo propertyInfo) : base(metaInfoStore) { Name = columnName; DotNetType = dotNetType; DbType = dbType; SqlDbType = sqlDbType; PropertyInfo = propertyInfo; }
public TableInfo(MetaInfoStore metaInfoStore, string tableName, Type type) : base(metaInfoStore) { TableName = tableName; EntityType = type; }
public ColumnInfo(MetaInfoStore metaInfoStore, string columnName, Type dotNetType, PropertyInfo propertyInfo) : this(metaInfoStore, columnName, dotNetType, DbTypeConverter.ToDbType(dotNetType), SqlDbTypeConverter.ToDbType(dotNetType), propertyInfo) { }