コード例 #1
0
        static void Performance(int count)
        {
            var persons = GetPersons(count);

            SimpleDataMapper.RemoveMap <Person, User>();

            var map = SimpleDataMapper.Resolve <Person, User>();

            map.Add <Person, User>("EyeColor", "SetEyeColor");
            map.Complex <Person, User>(p => p.Company, u => u.Employer);

            var sw = System.Diagnostics.Stopwatch.StartNew();

            for (int i = 0; i < count; i++)
            {
                var user = SimpleDataMapper.Map <Person, User>(persons[i]);
            }

            sw.Stop();

            Console.WriteLine("\nMapping {0} instances took {1} ms. Average = {2}\n", count, sw.ElapsedMilliseconds, sw.Elapsed.TotalMilliseconds / count);
        }
コード例 #2
0
        static void Main(string[] args)
        {
            //// source instance
            Person person = new Person()
            {
                Name     = "Mickey Mouse",
                Age      = 85,
                EyeColor = "Blue",
                Sex      = "Male",
                Company  = new Company()
                {
                    Name = "Disney"
                }
            };

            //// destination instance
            User user;

            //// default map to map between properties with same name
            var map = SimpleDataMapper.Resolve <Person, User>();

            //// conversion
            user = SimpleDataMapper.Map <Person, User>(person);

            Compare(person, user);

            //// add mapping between properties with different name, but same meaning
            map.Add <Person, User>(p => p.Sex, u => u.Gender);

            //// conversion
            user = SimpleDataMapper.Map <Person, User>(person);

            Compare(person, user);

            //// map property to setter method
            map.Add <Person, User>("EyeColor", "SetEyeColor");

            //// conversion
            user = SimpleDataMapper.Map <Person, User>(person);

            Compare(person, user);

            //// ignore mapping
            map.Ignore <User>(u => u.Age);

            //// conversion
            user = SimpleDataMapper.Map <Person, User>(person);

            Compare(person, user);

            //// unignore
            map.Unignore <User>(u => u.Age);

            user = SimpleDataMapper.Map <Person, User>(person);

            Compare(person, user);

            //// complex
            map.Complex <Person, User>(p => p.Company, u => u.Employer);

            user = SimpleDataMapper.Map <Person, User>(person);

            Compare(person, user);

            //// remove
            map.Remove("Company");

            user = SimpleDataMapper.Map <Person, User>(person);

            Compare(person, user);

            //// performance
            Performance(1000);

            Console.ReadKey();
        }