private static DataFieldDefinition CreateFlatArray(IDataField dataField) { FlatArrayFieldDefinition arrayFieldDefinition = new FlatArrayFieldDefinition(); arrayFieldDefinition.Name = dataField.Name; arrayFieldDefinition.Offset = 1; arrayFieldDefinition.Pattern = ""; return((DataFieldDefinition)arrayFieldDefinition); }
public static void MapFlatArray(this LightDBDefinitionSet defs, IDataField dataField, IDataFieldDefinition fieldDef, Dictionary <string, List <SimpleDataColumn> > mappedFields) { FlatArrayFieldDefinition arrayFieldDefinition = (FlatArrayFieldDefinition)fieldDef; FlatArrayDataField flatArrayDataField = (FlatArrayDataField)dataField; TableDefinition[] defaultTables = defs.EnsureTables(arrayFieldDefinition.Table, dataField.DataHolderDefinition); SimpleFlatFieldDefinition[] columns = arrayFieldDefinition.GetColumns(flatArrayDataField.Length); IDataFieldAccessor[] arrayAccessors = flatArrayDataField.ArrayAccessors; for (int index = 0; index < columns.Length; ++index) { SimpleFlatFieldDefinition fieldDef1 = columns[index]; LightDBMgr.AddMapping(defs, defaultTables, fieldDef1, mappedFields, (IFlatDataFieldAccessor)arrayAccessors[index], dataField.MappedMember); } }
private static DataFieldDefinition CreateNestedArray(IDataField dataField) { var arrField = (NestedArrayDataField)dataField; var innerFields = ((NestedArrayAccessor[])arrField.ArrayAccessors)[0].InnerFields; var segments = new FlatArrayFieldDefinition[innerFields.Count]; int i = 0; foreach (var innerField in innerFields.Values) { var segment = new FlatArrayFieldDefinition { Name = innerField.Name, Offset = 1, Pattern = "" }; segments[i++] = segment; } return(new NestedArrayFieldDefinition { Name = dataField.Name, Segments = segments }); }
private static DataFieldDefinition CreateNestedArray(IDataField dataField) { Dictionary <string, IDataField> innerFields = ((NestedArrayAccessor[])((ArrayDataField)dataField).ArrayAccessors)[0].InnerFields; FlatArrayFieldDefinition[] arrayFieldDefinitionArray = new FlatArrayFieldDefinition[innerFields.Count]; int num = 0; foreach (IDataField dataField1 in innerFields.Values) { FlatArrayFieldDefinition arrayFieldDefinition1 = new FlatArrayFieldDefinition(); arrayFieldDefinition1.Name = dataField1.Name; arrayFieldDefinition1.Offset = 1; arrayFieldDefinition1.Pattern = ""; FlatArrayFieldDefinition arrayFieldDefinition2 = arrayFieldDefinition1; arrayFieldDefinitionArray[num++] = arrayFieldDefinition2; } NestedArrayFieldDefinition arrayFieldDefinition = new NestedArrayFieldDefinition(); arrayFieldDefinition.Name = dataField.Name; arrayFieldDefinition.Segments = arrayFieldDefinitionArray; return((DataFieldDefinition)arrayFieldDefinition); }