public CacheInfo(ComplexObjectActivator activator, IDataReader reader) { int fieldCount = reader.FieldCount; var readerFields = new ReaderFieldInfo[fieldCount]; for (int i = 0; i < fieldCount; i++) { readerFields[i] = new ReaderFieldInfo(reader.GetName(i), reader.GetFieldType(i)); } this._readerFields = readerFields; this._objectActivator = activator; }
public bool IsTheSameFields(IDataReader reader) { ReaderFieldInfo[] readerFields = this._readerFields; int fieldCount = reader.FieldCount; if (fieldCount != readerFields.Length) { return(false); } for (int i = 0; i < fieldCount; i++) { ReaderFieldInfo readerField = readerFields[i]; if (reader.GetFieldType(i) != readerField.Type || reader.GetName(i) != readerField.Name) { return(false); } } return(true); }