public void Start(string prefix, MappedPropertyInfo item) { HbmSet set = item.HbmObject <HbmSet>(); MappedPropertyInfo childItem = new MappedPropertyInfo(set.Item, item.FileName); PropertyMappingType subType = childItem.Type; if (subType == PropertyMappingType.ManyToMany) { _builder.StartMethod(prefix, string.Format("{0}<{1}>(x => x.{2})", FluentNHibernateNames.HasManyToMany, item.ReturnType, item.Name)); _builder.AddLine(string.Format(".{0}(\"{1}\")", KeyColumn.FluentNHibernateNames.ChildKeyColumn, childItem.ColumnName)); } else if (subType == PropertyMappingType.OneToMany) { _builder.StartMethod(prefix, string.Format("{0}<{1}>(x => x.{2})", FluentNHibernateNames.HasMany, item.ReturnType, item.Name)); } else { _builder.StartMethod(prefix, "set?(x => x" + item.Name + ")"); } _builder.AddLine(string.Format(".{0}()", FluentNHibernateNames.AsSet)); _keyColumn.Add(set.inverse, item.ColumnName, subType); _lazyLoad.Add(set.lazySpecified, set.lazy); _table.Add(set.table); _inverse.Add(set.inverse); _cascade.Add(set.cascade); _fetch.Add(set.fetch); _orderBy.Add(set.orderby); _where.Add(set.where); _cacheBuilder.Add(set.cache); }
public void SetCollectionTypeByType() { var hbm = new HbmSet(); var mapper = new SetMapper(typeof(Animal), typeof(Animal), hbm); mapper.Type(typeof(FakeUserCollectionType)); hbm.CollectionType.Should().Contain("FakeUserCollectionType"); }
public void SetCollectionTypeByWrongTypeShouldThrow() { var hbm = new HbmSet(); var mapper = new SetMapper(typeof(Animal), typeof(Animal), hbm); Executing.This(() => mapper.Type(null)).Should().Throw <ArgumentNullException>(); Executing.This(() => mapper.Type(typeof(object))).Should().Throw <ArgumentOutOfRangeException>(); }
public void SetBatchSize() { var hbm = new HbmSet(); var mapper = new SetMapper(typeof(Animal), typeof(Animal), hbm); mapper.BatchSize(10); hbm.BatchSize.Should().Be.EqualTo(10); }
public void SetSort() { var hbm = new HbmSet(); var mapper = new SetMapper(typeof(Animal), typeof(Animal), hbm); mapper.Sort(); hbm.Sort.Should().Be.EqualTo("natural"); }
public void SetWhere() { var hbm = new HbmSet(); var mapper = new SetMapper <Animal, Animal>(hbm); mapper.Where = "c > 10"; hbm.Where.Should().Be.EqualTo("c > 10"); }
public static bool?IsUnique(this HbmSet item) { if (item.key == null || !item.key.uniqueSpecified) { return(null); } return(item.key.unique); }
public void SetBatchSize() { var hbm = new HbmSet(); var mapper = new SetMapper <Animal, Animal>(hbm); mapper.BatchSize = 10; hbm.BatchSize.Should().Be.EqualTo(10); }
public void SetSort() { var hbm = new HbmSet(); var mapper = new SetMapper <Animal, Animal>(hbm); mapper.Sort(); hbm.Sort.Should().Be.EqualTo("natural"); }
public void SetWhere() { var hbm = new HbmSet(); var mapper = new SetMapper(typeof(Animal), typeof(Animal), hbm); mapper.Where("c > 10"); hbm.Where.Should().Be.EqualTo("c > 10"); }
public void SetCollectionTypeByWrongTypeShouldThrow() { var hbm = new HbmSet(); var mapper = new SetMapper(typeof(Animal), typeof(Animal), hbm); ActionAssert.Throws <ArgumentNullException>(() => mapper.Type(null)); ActionAssert.Throws <ArgumentOutOfRangeException>(() => mapper.Type(typeof(object))); }
private Mapping.Collection CreateSet(HbmSet setMapping, string prefix, string path, PersistentClass owner, System.Type containingType, IDictionary <string, MetaAttribute> inheritedMetas) { var setCollection = new Set(owner); BindCollection(setMapping, setCollection, prefix, path, containingType, inheritedMetas); AddSetSecondPass(setMapping, setCollection, inheritedMetas); return(setCollection); }
private void AddSetSecondPass(HbmSet setMapping, Set model, IDictionary <string, MetaAttribute> inheritedMetas) { mappings.AddSecondPass(delegate(IDictionary <string, PersistentClass> persistentClasses) { PreCollectionSecondPass(model); BindSetSecondPass(setMapping, model, persistentClasses, inheritedMetas); PostCollectionSecondPass(model); }); }
public SetMapper(HbmSet mapping) { this.mapping = mapping; if (mapping.Key == null) { mapping.key = new HbmKey(); } keyMapper = new KeyMapper <TEntity>(mapping.Key); }
public void CanSetCache() { var hbm = new HbmSet(); var mapper = new SetMapper(typeof(Animal), typeof(Animal), hbm); mapper.Cache(x => x.Region("pizza")); hbm.cache.Should().Not.Be.Null(); }
public void WhenActionIsNullThenAddFilterName() { var hbm = new HbmSet(); var mapper = new SetMapper(typeof(Animal), typeof(Animal), hbm); mapper.Filter("filter1", null); hbm.filter.Length.Should().Be(1); hbm.filter[0].Satisfy(f => f.name == "filter1" && f.condition == null); }
public void CanSetAFilterThroughAction() { var hbm = new HbmSet(); var mapper = new SetMapper(typeof(Animal), typeof(Animal), hbm); mapper.Filter("filter1", f => f.Condition("condition1")); hbm.filter.Length.Should().Be(1); hbm.filter[0].Satisfy(f => f.name == "filter1" && f.condition == "condition1"); }
public void CallKeyMapper() { var hbm = new HbmSet(); var mapper = new SetMapper <Animal, Animal>(hbm); bool kmCalled = false; mapper.Key(km => kmCalled = true); hbm.Key.Should().Not.Be.Null(); kmCalled.Should().Be.True(); }
public void Should_get_null_given_key_is_null() { HbmSet set = new HbmSet { key = null }; bool?result = set.IsUnique(); result.ShouldBeNull(); }
private void BindSetSecondPass(HbmSet setMapping, Set model, IDictionary <string, PersistentClass> persistentClasses, IDictionary <string, MetaAttribute> inheritedMetas) { BindCollectionSecondPass(setMapping, model, persistentClasses, inheritedMetas); if (!model.IsOneToMany) { model.CreatePrimaryKey(); } }
public void SetMutable() { var hbm = new HbmSet(); var mapper = new SetMapper <Animal, Animal>(hbm); mapper.Mutable = true; hbm.Mutable.Should().Be.True(); mapper.Mutable = false; hbm.Mutable.Should().Be.False(); }
public void SetMutable() { var hbm = new HbmSet(); var mapper = new SetMapper(typeof(Animal), typeof(Animal), hbm); mapper.Mutable(true); hbm.Mutable.Should().Be.True(); mapper.Mutable(false); hbm.Mutable.Should().Be.False(); }
public void Should_get_the_correct_value() { const string expected = "FirstName"; HbmSet set = new HbmSet { name = expected }; string result = set.GetPropertyName(); result.ShouldBeEqualTo(expected); }
public void Set(MemberInfo property, Action <ISetPropertiesMapper> collectionMapping, Action <ICollectionElementRelation> mapping) { var hbm = new HbmSet { name = property.Name }; System.Type collectionElementType = property.DetermineRequiredCollectionElementType(); collectionMapping(new SetMapper(Container, collectionElementType, new NoMemberPropertyMapper(), hbm)); mapping(new CollectionElementRelation(collectionElementType, MapDoc, rel => hbm.Item = rel)); AddProperty(hbm); }
public void CanChangeAccessor() { var hbm = new HbmSet { name = "Children" }; var mapper = new SetMapper(typeof(Animal), typeof(Animal), hbm); mapper.Access(Accessor.Field); hbm.Access.Should().Not.Be.Null(); }
public void Should_get__false__given_inverse_is_false() { HbmSet set = new HbmSet { inverse = false }; bool?result = set.CanBeNull(); result.ShouldNotBeNull(); result.Value.ShouldBeFalse(); }
public void SetLazy() { var hbm = new HbmSet(); var mapper = new SetMapper <Animal, Animal>(hbm); mapper.Lazy = CollectionLazy.Extra; hbm.Lazy.Should().Be.EqualTo(HbmCollectionLazy.Extra); mapper.Lazy = CollectionLazy.NoLazy; hbm.Lazy.Should().Be.EqualTo(HbmCollectionLazy.False); mapper.Lazy = CollectionLazy.Lazy; hbm.Lazy.Should().Be.EqualTo(HbmCollectionLazy.True); }
public virtual void Set(MemberInfo property, Action <ISetPropertiesMapper> collectionMapping, Action <ICollectionElementRelation> mapping) { var hbm = new HbmSet { name = property.Name }; System.Type propertyType = property.GetPropertyOrFieldType(); System.Type collectionElementType = propertyType.DetermineCollectionElementType(); collectionMapping(new SetMapper(container, collectionElementType, hbm)); mapping(new CollectionElementRelation(collectionElementType, MapDoc, rel => hbm.Item = rel)); AddProperty(hbm); }
public void SetLazy() { var hbm = new HbmSet(); var mapper = new SetMapper(typeof(Animal), typeof(Animal), hbm); mapper.Lazy(CollectionLazy.Extra); hbm.Lazy.Should().Be.EqualTo(HbmCollectionLazy.Extra); mapper.Lazy(CollectionLazy.NoLazy); hbm.Lazy.Should().Be.EqualTo(HbmCollectionLazy.False); mapper.Lazy(CollectionLazy.Lazy); hbm.Lazy.Should().Be.EqualTo(HbmCollectionLazy.True); }
public void WhenSameNameThenOverrideCondition() { var hbm = new HbmSet(); var mapper = new SetMapper(typeof(Animal), typeof(Animal), hbm); mapper.Filter("filter1", f => f.Condition("condition1")); mapper.Filter("filter2", f => f.Condition("condition2")); mapper.Filter("filter1", f => f.Condition("anothercondition1")); hbm.filter.Length.Should().Be(2); hbm.filter.Satisfy(filters => filters.Any(f => f.name == "filter1" && f.condition == "anothercondition1")); hbm.filter.Satisfy(filters => filters.Any(f => f.name == "filter2" && f.condition == "condition2")); }