public override void Visit(OneToOneMapping mapping)
        {
            var writer = serviceLocator.GetWriter<OneToOneMapping>();
            var xml = writer.Write(mapping);

            document.ImportAndAppendChild(xml);
        }
        public OneToOneInspector(OneToOneMapping mapping)
        {
            this.mapping = mapping;

            propertyMappings.AutoMap();
            propertyMappings.Map(x => x.LazyLoad, x => x.Lazy);
        }
示例#3
0
        public override void ProcessOneToOne(OneToOneMapping mapping)
        {
            var conventions = finder.Find <IHasOneConvention>();

            Apply <IOneToOneInspector, IOneToOneInstance>(conventions,
                                                          new OneToOneInstance(mapping));
        }
示例#4
0
        public override void Visit(OneToOneMapping mapping)
        {
            var writer = serviceLocator.GetWriter <OneToOneMapping>();
            var xml    = writer.Write(mapping);

            document.ImportAndAppendChild(xml);
        }
示例#5
0
        OneToOneMapping IOneToOneMappingProvider.GetOneToOneMapping()
        {
            var mapping = new OneToOneMapping(attributes.Clone());

            mapping.ContainingEntityType = entity;
            mapping.Set(x => x.Class, Layer.Defaults, new TypeReference(typeof(TOther)));
            mapping.Set(x => x.Name, Layer.Defaults, member.Name);

            return(mapping);
        }
示例#6
0
        static void Main(string[] args)
        {
            //Map Address to User
            var userAddressMap = new OneToOneMapping<User, Address>(address => address.Id, user => user.AddressId, (user, address) => user.Address = address);

            //Map Address to Employer & Employer to User
            var employerAddressMap = new OneToOneMapping<Employer, Address>(address => address.Id, employer => employer.AddressId, (employer, address) => employer.Address = address);
            var userEmployerMap = new OneToOneMapping<User, Employer>(employer => employer.Id, user => user.EmployerId, (user, employer) => user.Employer = employer);
            userEmployerMap.AddMapping(employerAddressMap);

            //Map Car to user
            var userCarMap = new ManyToManyMapping<User, Car, UserCar>(car => car.Id, userCar => userCar.CarId, userCar => userCar.UserId,
                (user, cars) =>
                {
                    foreach (var car in cars)
                    {
                        user.Cars.Add(car);
                        car.Users.Add(user);
                    }
                });

            //User Mapping
            var userMap = new ParentMapping<User>(user => user.Id);
            userMap.AddMapping(userAddressMap);
            userMap.AddMapping(userEmployerMap);
            userMap.AddMapping(userCarMap);

            //var dataBroker = new SqlDataBroker(@"Server=(localdb)\ProjectsV12;Database=DemoDatabase;Integrated security=True", new DapperGridReaderFactory());
            var gridReaderFactory = new SqlGridReaderFactory();
            gridReaderFactory.AddEntityFactory(new AddressFactory());
            gridReaderFactory.AddEntityFactory(new CarFactory());
            gridReaderFactory.AddEntityFactory(new EmployerFactory());
            gridReaderFactory.AddEntityFactory(new UserFactory());
            gridReaderFactory.AddEntityFactory(new UserCarFactory());

            var dataBroker = new SqlDataBroker(@"Server=(localdb)\ProjectsV12;Database=DemoDatabase;Integrated security=True", gridReaderFactory);
            dataBroker.AddMapping(userMap);

            var totalTime = 0L;
            for (int i = 0; i < 100; i++)
            {
                Stopwatch watch = new Stopwatch();

                watch.Start();
                //var parameterList = new List<IDbParameter>();
                //parameterList.Add(new DbParameter("BirthDate", DateTime.Parse("06-01-1975"), DbType.Date));
                var users = dataBroker.ExecuteStoredProcedure<User>("dbo.ReadUser");
                watch.Stop();

                totalTime += watch.ElapsedMilliseconds;
            }

            var test = totalTime;
        }
        public void Initialize()
        {
            MockChildMapping = new Mock<IChildMapping<OneToOneItem>>();
            MockGridReader = new Mock<IGridReader>();

            OneToOneMapping = new OneToOneMapping<ParentItem, OneToOneItem>(child => child.Id,
                parent => parent.ChildId,
                (parent, child) =>
                {
                    parent.Child = child;
                    child.Parent = parent;
                });
        }
        OneToOneMapping IOneToOneMappingProvider.GetOneToOneMapping()
        {
            var mapping = new OneToOneMapping(attributes.CloneInner());

            mapping.ContainingEntityType = entity;

            if (!mapping.IsSpecified("Class"))
            {
                mapping.SetDefaultValue(x => x.Class, new TypeReference(typeof(TOther)));
            }

            if (!mapping.IsSpecified("Name"))
            {
                mapping.SetDefaultValue(x => x.Name, property.Name);
            }

            return(mapping);
        }
 public virtual void ProcessOneToOne(OneToOneMapping mapping)
 {
 }
 public virtual void Visit(OneToOneMapping mapping)
 {
 }
 public void AddOrReplaceOneToOne(OneToOneMapping mapping)
 {
     mappedMembers.AddOrReplaceOneToOne(mapping);
 }
 public override void Visit(OneToOneMapping mapping)
 {
     mapping.AcceptVisitor(this);
 }
示例#13
0
 public OneToOneInstance(OneToOneMapping mapping)
     : base(mapping)
 {
     this.mapping = mapping;
 }
示例#14
0
        public OneToOneInspector(OneToOneMapping mapping)
        {
            this.mapping = mapping;

            propertyMappings.Map(x => x.LazyLoad, x => x.Lazy);
        }
 public virtual void ProcessOneToOne(OneToOneMapping mapping)
 {
 }
 public void AddOneToOne(OneToOneMapping mapping)
 {
     mergedComponent.AddOneToOne(mapping);
 }
示例#17
0
 public virtual void VisitOneToOne(OneToOneMapping one)
 {
 }
 public void AddOrReplaceOneToOne(OneToOneMapping mapping)
 {
     oneToOnes.RemoveAll(x => x.Name == mapping.Name);
     oneToOnes.Add(mapping);
 }
        public void AddOneToOne(OneToOneMapping mapping)
        {
            if (oneToOnes.Exists(x => x.Name == mapping.Name))
                throw new InvalidOperationException("Tried to add one-to-one '" + mapping.Name + "' when already added.");

            oneToOnes.Add(mapping);
        }
 public void AddOrReplaceOneToOne(OneToOneMapping mapping)
 {
     oneToOnes.RemoveAll(x => x.Name == mapping.Name);
     sequencedMappingObject.RemoveAll(x => x is OneToOneMapping && ((OneToOneMapping) x).Name == mapping.Name);
     oneToOnes.Add(mapping);
     sequencedMappingObject.Add(mapping);
 }
 public void CreateDsl()
 {
     mapping = new OneToOneMapping();
     inspector = new OneToOneInspector(mapping);
 }
示例#22
0
 public void AddOrReplaceOneToOne(OneToOneMapping mapping)
 {
     mappedMembers.AddOrReplaceOneToOne(mapping);
 }
 public override void Visit(OneToOneMapping mapping)
 {
     mapping.AcceptVisitor(this);
 }
示例#24
0
 public void AddOneToOne(OneToOneMapping mapping)
 {
     mergedComponent.AddOneToOne(mapping);
 }
 public virtual void Visit(OneToOneMapping mapping)
 {
 }
示例#26
0
 public void CreateDsl()
 {
     mapping   = new OneToOneMapping();
     inspector = new OneToOneInspector(mapping);
 }