using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace WpfApplication1
{
    public class MyDataContext
    {
        IEnumerable<MyObject> _largeData;
        public IEnumerable<MyObject> LargeData
        {
            get
            {
                if (_largeData == null)
                {
                    Random rnd = new Random();
                    _largeData = from i in Enumerable.Range(0, 500000)
                                 select new MyObject()
                                 {
                                     Column1 = i,
                                     Column2 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column3 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column4 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column5 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column6 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column7 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column8 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column9 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column10 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column11 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column12 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column13 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column14 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column15 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column16 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column17 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column18 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column19 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column20 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column21 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column22 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column23 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column24 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column25 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column26 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column27 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column28 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column29 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column30 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column31 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column32 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column33 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column34 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column35 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column36 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column37 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column38 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column39 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column40 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column41 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column42 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column43 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column44 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column45 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column46 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column47 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column48 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column49 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column50 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column51 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column52 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column53 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column54 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column55 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column56 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column57 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column58 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column59 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column60 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column61 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column62 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column63 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column64 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column65 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column66 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column67 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column68 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column69 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column70 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column71 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column72 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column73 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column74 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column75 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column76 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column77 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column78 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column79 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column80 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column81 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column82 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column83 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column84 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column85 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column86 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column87 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column88 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column89 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column90 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column91 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column92 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column93 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column94 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column95 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column96 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column97 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column98 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column99 = rnd.Next(int.MinValue, int.MaxValue),
                                     Column100 = rnd.Next(int.MinValue, int.MaxValue)
                                 };
                }

                return _largeData;
            }
        }
    }

    public class MyObject
    {
        public int Column1 { get; set; }
        public int Column2 { get; set; }
        public int Column3 { get; set; }
        public int Column4 { get; set; }
        public int Column5 { get; set; }
        public int Column6 { get; set; }
        public int Column7 { get; set; }
        public int Column8 { get; set; }
        public int Column9 { get; set; }
        public int Column10 { get; set; }
        public int Column11 { get; set; }
        public int Column12 { get; set; }
        public int Column13 { get; set; }
        public int Column14 { get; set; }
        public int Column15 { get; set; }
        public int Column16 { get; set; }
        public int Column17 { get; set; }
        public int Column18 { get; set; }
        public int Column19 { get; set; }
        public int Column20 { get; set; }
        public int Column21 { get; set; }
        public int Column22 { get; set; }
        public int Column23 { get; set; }
        public int Column24 { get; set; }
        public int Column25 { get; set; }
        public int Column26 { get; set; }
        public int Column27 { get; set; }
        public int Column28 { get; set; }
        public int Column29 { get; set; }
        public int Column30 { get; set; }
        public int Column31 { get; set; }
        public int Column32 { get; set; }
        public int Column33 { get; set; }
        public int Column34 { get; set; }
        public int Column35 { get; set; }
        public int Column36 { get; set; }
        public int Column37 { get; set; }
        public int Column38 { get; set; }
        public int Column39 { get; set; }
        public int Column40 { get; set; }
        public int Column41 { get; set; }
        public int Column42 { get; set; }
        public int Column43 { get; set; }
        public int Column44 { get; set; }
        public int Column45 { get; set; }
        public int Column46 { get; set; }
        public int Column47 { get; set; }
        public int Column48 { get; set; }
        public int Column49 { get; set; }
        public int Column50 { get; set; }
        public int Column51 { get; set; }
        public int Column52 { get; set; }
        public int Column53 { get; set; }
        public int Column54 { get; set; }
        public int Column55 { get; set; }
        public int Column56 { get; set; }
        public int Column57 { get; set; }
        public int Column58 { get; set; }
        public int Column59 { get; set; }
        public int Column60 { get; set; }
        public int Column61 { get; set; }
        public int Column62 { get; set; }
        public int Column63 { get; set; }
        public int Column64 { get; set; }
        public int Column65 { get; set; }
        public int Column66 { get; set; }
        public int Column67 { get; set; }
        public int Column68 { get; set; }
        public int Column69 { get; set; }
        public int Column70 { get; set; }
        public int Column71 { get; set; }
        public int Column72 { get; set; }
        public int Column73 { get; set; }
        public int Column74 { get; set; }
        public int Column75 { get; set; }
        public int Column76 { get; set; }
        public int Column77 { get; set; }
        public int Column78 { get; set; }
        public int Column79 { get; set; }
        public int Column80 { get; set; }
        public int Column81 { get; set; }
        public int Column82 { get; set; }
        public int Column83 { get; set; }
        public int Column84 { get; set; }
        public int Column85 { get; set; }
        public int Column86 { get; set; }
        public int Column87 { get; set; }
        public int Column88 { get; set; }
        public int Column89 { get; set; }
        public int Column90 { get; set; }
        public int Column91 { get; set; }
        public int Column92 { get; set; }
        public int Column93 { get; set; }
        public int Column94 { get; set; }
        public int Column95 { get; set; }
        public int Column96 { get; set; }
        public int Column97 { get; set; }
        public int Column98 { get; set; }
        public int Column99 { get; set; }
        public int Column100 { get; set; }
    }
}