public void Cascade_should_be_fluent() { var oneToManyPart = new OneToManyPart<Artist, Album>(null); var attributeStore = new AttributeStore<ICollectionMapping>(); var cascadePart = new CascadePart<OneToManyPart<Artist, Album>>(oneToManyPart, attributeStore); cascadePart.All().ShouldEqual(oneToManyPart); }
public static OneToManyPart <TChild> HasManyBidirectional <TParent, TChild>( [NotNull] this AutoMapping <TParent> mapping, [NotNull] Expression <Func <TParent, IEnumerable <TChild> > > childCollection, [NotNull] Expression <Func <TChild, TParent> > parentReference, bool cascadeAllDeleteOrphan = true) { Fail.IfArgumentNull(mapping, nameof(mapping)); Fail.IfArgumentNull(childCollection, nameof(childCollection)); Fail.IfArgumentNull(parentReference, nameof(parentReference)); Member member = parentReference.ToMember(); var parentReferenceColumnName = ForeignKeyColumnNameConvention.GetColumnName(member); OneToManyPart <TChild> bidirectionalMapping = mapping .HasMany(childCollection); if (cascadeAllDeleteOrphan) { bidirectionalMapping = bidirectionalMapping .Cascade .AllDeleteOrphan(); } return(bidirectionalMapping .Inverse() .KeyColumn(parentReferenceColumnName)); }
public void Can_get_cascade_part() { var oneToManyPart = new OneToManyPart<Artist, Album>(null); oneToManyPart.Cascade.ShouldNotBeNull(); }
public static OneToManyPart <TChild> PropertyRef <TChild>(this OneToManyPart <TChild> oneToMany, Expression <Func <TChild, object> > columnExp) { return(oneToMany.PropertyRef(columnExp.GetFullPropertyName())); }
/// <summary> /// Specify the key column name using the given expression with additional "Id" postfix /// </summary> /// <typeparam name="TChild"></typeparam> /// <param name="oneToMany"></param> /// <param name="columnExp"></param> /// <returns></returns> public static OneToManyPart <TChild> KeyColumn <TChild>(this OneToManyPart <TChild> oneToMany, Expression <Func <TChild, object> > columnExp) { return(oneToMany.KeyColumn(columnExp.GetFullPropertyName() + "Id")); }
internal void SetThisColumnKey <TU>(OneToManyPart <TU> column) { column.KeyColumn(GetIdName); }
public static OneToManyPart <TModel> Elements <TModel>(this OneToManyPart <TModel> oneToManyPart) { return(oneToManyPart.Element("string")); }
public static OneToManyPart <TChild> KeyColumn <TChild, TParent>(this OneToManyPart <TChild> oneToManyPart, Expression <Func <TChild, TParent> > memberExpression) { return(oneToManyPart.KeyColumn(memberExpression.ToMember().Name + "_id")); }