public void InitializeAssemblies_BuildsMaps()
        {
            MappingRepoDictionary.InitializeAssemblies(GetType().Assembly);
            var map = MappingRepoDictionary.GetMap <SimpleObject>();

            Assert.IsNotNull(map);
        }
        public void Sanity2()
        {
            MappingRepoDictionary.InitializeAssemblies(GetType().Assembly);
            MappingRepoDictionary.InitializeAssemblies(GetType().Assembly);

            var customTypeObject = new CustomTypeObject();
            var property         = MappingRepo <CustomTypeObject> .GetMap().Properties[0];

            property.SetValue(customTypeObject, "5,3");
            CollectionAssert.AreEqual(customTypeObject.SomeIntArray, new[] { 5, 3 });
            Assert.AreEqual(property.ValueAccessor(customTypeObject), "5,3");
        }
Exemple #3
0
        private static string CreateMessage(string sql, IList <object> parameters, IDataReader reader, IDbConnection connection)
        {
#if NETSTANDARD1_4
            return(".Net standard does not support schema investigation. Once it will, this code will be revised");
#else
            var mapping    = MappingRepoDictionary.GetMappedTypes();
            var schema     = reader.GetSchemaTable();
            var rows       = schema?.Rows;
            var tableName  = string.Empty;
            var schemaName = string.Empty;

            var columnNameIndex = 0;
            var schemaIndex     = 9;
            var tableNameIndex  = 10;
            var typeIndex       = 11;


            var columns = new List <string>();
            if (rows != null && schema.Columns.Count > 11)
            {
                foreach (DataRow row in rows)
                {
                    columns.Add($"{row.ItemArray[columnNameIndex]} + type: {row.ItemArray[typeIndex]}");
                }
                tableName  = rows[0][tableNameIndex].ToString();
                schemaName = rows[0][schemaIndex].ToString();
            }

            var mappedNames    = mapping.Select(x => x.Name).OrderBy(x => x).ToArray();
            var mapsMessage    = MappingRepoDictionary.GetMap <T>().ToString();
            var mappingMessage = string.Join(",", mappedNames);
            var schemaMessage  = $"Table name: {tableName}, Schema Name: {schemaName}";
            if (columns.Any())
            {
                schemaMessage += $", ColumnsNames: {string.Join(",", columns)}";
            }

            return($"\r\nT: {typeof(T).Name},\r\n T-Maps: {mapsMessage},\r\n SQL: {sql},\r\n Parameters: {string.Join(",", parameters)},\r\n Mapping: {mappingMessage},\r\n Schema: {schemaMessage} \r\n ConnectionString: {connection?.ConnectionString}");
#endif
        }
Exemple #4
0
        public void FixtureSetUp()
        {
            using (var conn = new MySqlConnection(ConfigurationManager.ConnectionStrings["MySql"].ConnectionString))
            {
                conn.Open();
                var command = conn.CreateCommand();
                command.CommandText =
                    @"DROP TABLE IF EXISTS `location`;
					CREATE TABLE `location` (
					  `zip` varchar(20) NOT NULL,
					  `city` varchar(50),
					  `latitude` double,
					  `longitude` double,
					  `Extra` varchar(50),
					  `AnnoyingInterface` varchar(50),
					  PRIMARY KEY (`zip`)
					) ENGINE=InnoDB DEFAULT CHARSET=utf8;"                    ;
                command.ExecuteNonQuery();
            }

            MappingRepoDictionary.InitializeAssemblies(GetType().Assembly);
        }
 public static void Initialize(params Assembly[] assemblies)
 {
     MappingRepoDictionary.InitializeAssemblies(assemblies);
 }
 public static Type[] GetMappedTypes()
 {
     return(MappingRepoDictionary.GetMappedTypes());
 }