Skip to content

Commit

Permalink
added the cascade.merge convention. It is present in nhibernate engin…
Browse files Browse the repository at this point in the history
…e so

changes are only in the interface
  • Loading branch information
tchrikch committed Nov 9, 2011
1 parent 090117e commit a79bd8d
Show file tree
Hide file tree
Showing 7 changed files with 39 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -47,5 +47,12 @@ public void DirtyShouldHaveCorrectValue()
{
Cascade.SaveUpdate.ToString().ShouldEqual("save-update");
}

[Test]
public void MergeShouldHaveCorrectValue()
{
Cascade.All.ToString().ShouldEqual("merge");
}

}
}
Original file line number Diff line number Diff line change
Expand Up @@ -58,5 +58,11 @@ public void Delete_should_add_the_correct_cascade_attribute_to_the_parent_part()
{
A_call_to(_cascade.Delete).should_set_the_cascade_value_to("delete");
}

[Test]
public void Merge_should_add_the_correct_cascade_attribute_to_the_parent_part()
{
A_call_to(_cascade.Merge).should_set_the_cascade_value_to("merge");
}
}
}
8 changes: 8 additions & 0 deletions src/FluentNHibernate/Conventions/Helpers/DefaultCascade.cs
Original file line number Diff line number Diff line change
Expand Up @@ -31,5 +31,13 @@ public static IHibernateMappingConvention Delete()
criteria => { },
instance => instance.DefaultCascade.Delete());
}


public static IHibernateMappingConvention Merge()
{
return new BuiltHibernateMappingConvention(
criteria => { },
instance => instance.DefaultCascade.Merge());
}
}
}
1 change: 1 addition & 0 deletions src/FluentNHibernate/Conventions/Inspections/Cascade.cs
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ public class Cascade
public static readonly Cascade None = new Cascade("none");
public static readonly Cascade SaveUpdate = new Cascade("save-update");
public static readonly Cascade Delete = new Cascade("delete");
public static readonly Cascade Merge = new Cascade("merge");

private readonly string value;

Expand Down
5 changes: 5 additions & 0 deletions src/FluentNHibernate/Conventions/Instances/CascadeInstance.cs
Original file line number Diff line number Diff line change
Expand Up @@ -30,5 +30,10 @@ public void Delete()
{
setter("delete");
}

public void Merge()
{
setter("merge");
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,6 @@ public interface ICascadeInstance
void None();
void SaveUpdate();
void Delete();
void Merge();
}
}
11 changes: 11 additions & 0 deletions src/FluentNHibernate/Mapping/CascadeExpression.cs
Original file line number Diff line number Diff line change
Expand Up @@ -48,5 +48,16 @@ public TParent Delete()
setter("delete");
return parent;
}

/// <summary>
/// Cascade deletes
/// </summary>
public TParent Merge()
{
setter("merge");
return parent;
}


}
}

0 comments on commit a79bd8d

Please sign in to comment.