Skip to content

Commit

Permalink
Merge pull request nhibernate#108 from tchrikch/master
Browse files Browse the repository at this point in the history
Added cascade.merge option
  • Loading branch information
jagregory committed Dec 10, 2011
2 parents 1c793e0 + a79bd8d commit 31e3e3e
Show file tree
Hide file tree
Showing 7 changed files with 39 additions and 0 deletions.
Expand Up @@ -47,5 +47,12 @@ public void DirtyShouldHaveCorrectValue()
{
Cascade.SaveUpdate.ToString().ShouldEqual("save-update");
}

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

}
}
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
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
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
Expand Up @@ -30,5 +30,10 @@ public void Delete()
{
setter("delete");
}

public void Merge()
{
setter("merge");
}
}
}
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
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 31e3e3e

Please sign in to comment.