예제 #1
0
        public void WhenSourceIsAccessed_LazyRelation_CallsRepository_WithBothSourceAndDestinationId()
        {
            // Arrange
            var context = new FakeFrameworkContext();
            var providerGroup = GroupedProviderMockHelper.GenerateProviderGroup(1, 0, 50, context);
            var idRoot = new Uri("oh-yeah://this-is-my-root/");
            var groupUnitFactory = new GroupUnitFactory(providerGroup.Writers, idRoot, FakeHiveCmsManager.CreateFakeRepositoryContext(context), context);
            HiveId int1 = HiveId.ConvertIntToGuid(1);
            HiveId int2 = HiveId.ConvertIntToGuid(2);

            // Act & Assert
            using (var uow = groupUnitFactory.Create())
            {
                var lazyRelation = new LazyRelation<TypedEntity>(uow.Repositories, FixedRelationTypes.DefaultRelationType, int1, int2, 0);

                IReadonlyRelation<IRelatableEntity, IRelatableEntity> blah = lazyRelation;
                IRelationById blah2 = lazyRelation;

                Assert.False(lazyRelation.IsLoaded);
                var source = lazyRelation.Source;
                Assert.True(lazyRelation.IsLoaded);
                var dest = lazyRelation.Destination;

                Assert.NotNull(source);
                Assert.NotNull(dest);
            }
        }
		public void Lazy(LazyRelation lazyRelation)
		{
			switch (lazyRelation.ToHbm())
			{
				case HbmLaziness.False:
					_manyToOne.lazy = HbmRestrictedLaziness.False;
					_manyToOne.lazySpecified = true;
					break;
				case HbmLaziness.Proxy:
					_manyToOne.lazy = HbmRestrictedLaziness.Proxy;
					_manyToOne.lazySpecified = true;
					break;
				case HbmLaziness.NoProxy:
					_manyToOne.lazy = HbmRestrictedLaziness.False;
					_manyToOne.lazySpecified = true;
					break;
				default:
					throw new ArgumentOutOfRangeException();
			}
		}
        public void Lazy(LazyRelation lazyRelation)
        {
            switch (lazyRelation.ToHbm())
            {
            case HbmLaziness.False:
                manyToOne.lazy          = HbmRestrictedLaziness.False;
                manyToOne.lazySpecified = true;
                break;

            case HbmLaziness.Proxy:
                manyToOne.lazy          = HbmRestrictedLaziness.Proxy;
                manyToOne.lazySpecified = true;
                break;

            case HbmLaziness.NoProxy:
                manyToOne.lazy          = HbmRestrictedLaziness.False;
                manyToOne.lazySpecified = true;
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
		public void Lazy(LazyRelation lazyRelation)
		{
			customizersHolder.AddCustomizer(propertyPath, (IManyToManyMapper x) => x.Lazy(lazyRelation));
		}
 public void Lazy(LazyRelation lazyRelation)
 {
     manyToOne.lazy          = lazyRelation.ToHbm();
     manyToOne.lazySpecified = manyToOne.lazy != HbmLaziness.Proxy;
 }
예제 #6
0
		public void Lazy(LazyRelation lazyRelation)
		{
			oneToOne.lazy = lazyRelation.ToHbm();
			oneToOne.lazySpecified = oneToOne.lazy != HbmLaziness.Proxy;
		}
 public void Lazy(LazyRelation lazyRelation)
 {
     customizersHolder.AddCustomizer(propertyPath, (IManyToManyMapper x) => x.Lazy(lazyRelation));
 }
예제 #8
0
 public void Lazy(LazyRelation lazyRelation)
 {
     _oneToOne.lazy          = lazyRelation.ToHbm();
     _oneToOne.lazySpecified = _oneToOne.lazy != HbmLaziness.Proxy;
 }
예제 #9
0
 public void Lazy(LazyRelation lazyRelation)
 {
     manyToOne.lazy = lazyRelation.ToHbm();
     manyToOne.lazySpecified = manyToOne.lazy != HbmLaziness.Proxy;
 }