using System; using System.Data; using System.Data.Common; namespace ZeroLevel.SqlServer { public interface IDbMapper { IDbField this[string name] { get; } IDbField IdentityField { get; } Type EntityType { get; } object Id(object entity); void TraversalFields(Action callback); void TraversalFields(Func callback); void SetTypeConverter(Func converter); bool Exists(string name); #region Serialization object Deserialize(DataRow row); object Deserialize(DbDataReader reader); #endregion } public interface IDbMapper : IDbMapper { new T Deserialize(DataRow row); new T Deserialize(DbDataReader reader); } }