using System;
using System.Data.SqlTypes;
namespace BLToolkit.Mapping
{
[CLSCompliant(false)]
public interface IMapDataSource
{
int Count { get; }
Type GetFieldType (int index);
string GetName (int index);
int GetOrdinal (string name);
object GetValue (object o, int index);
object GetValue (object o, string name);
bool IsNull (object o, int index);
bool SupportsTypedValues(int index);
// Simple type getters.
//
[CLSCompliant(false)]
SByte GetSByte (object o, int index);
Int16 GetInt16 (object o, int index);
Int32 GetInt32 (object o, int index);
Int64 GetInt64 (object o, int index);
Byte GetByte (object o, int index);
[CLSCompliant(false)]
UInt16 GetUInt16 (object o, int index);
[CLSCompliant(false)]
UInt32 GetUInt32 (object o, int index);
[CLSCompliant(false)]
UInt64 GetUInt64 (object o, int index);
Boolean GetBoolean (object o, int index);
Char GetChar (object o, int index);
Single GetSingle (object o, int index);
Double GetDouble (object o, int index);
Decimal GetDecimal (object o, int index);
DateTime GetDateTime (object o, int index);
#if FW3
DateTimeOffset GetDateTimeOffset(object o, int index);
#endif
Guid GetGuid (object o, int index);
// Simple type getters.
//
[CLSCompliant(false)]
SByte? GetNullableSByte (object o, int index);
Int16? GetNullableInt16 (object o, int index);
Int32? GetNullableInt32 (object o, int index);
Int64? GetNullableInt64 (object o, int index);
Byte? GetNullableByte (object o, int index);
[CLSCompliant(false)]
UInt16? GetNullableUInt16 (object o, int index);
[CLSCompliant(false)]
UInt32? GetNullableUInt32 (object o, int index);
[CLSCompliant(false)]
UInt64? GetNullableUInt64 (object o, int index);
Boolean? GetNullableBoolean (object o, int index);
Char? GetNullableChar (object o, int index);
Single? GetNullableSingle (object o, int index);
Double? GetNullableDouble (object o, int index);
Decimal? GetNullableDecimal (object o, int index);
DateTime? GetNullableDateTime(object o, int index);
#if FW3
DateTimeOffset? GetNullableDateTimeOffset(object o, int index);
#endif
Guid? GetNullableGuid (object o, int index);
// SQL type getters.
//
SqlByte GetSqlByte (object o, int index);
SqlInt16 GetSqlInt16 (object o, int index);
SqlInt32 GetSqlInt32 (object o, int index);
SqlInt64 GetSqlInt64 (object o, int index);
SqlSingle GetSqlSingle (object o, int index);
SqlBoolean GetSqlBoolean (object o, int index);
SqlDouble GetSqlDouble (object o, int index);
SqlDateTime GetSqlDateTime (object o, int index);
SqlDecimal GetSqlDecimal (object o, int index);
SqlMoney GetSqlMoney (object o, int index);
SqlGuid GetSqlGuid (object o, int index);
SqlString GetSqlString (object o, int index);
}
} |