Note that there are some explanatory texts on larger screens.

plurals
  1. POConfORM Nhibernate OneToMany Cascade
    primarykey
    data
    text
    <p>I have some problem with Nhibernate ConfORM cascade. Exist two entities:</p> <pre><code> public class User : BaseEntity { public User(Role role) { this.Role = role; } protected User() { } public virtual Role Role { get; protected set; } } </code></pre> <p>and Role:</p> <pre><code>public class Role : BaseEntity { public Role() { this.Users = new HashedSet&lt;User&gt;(); } public virtual ISet&lt;User&gt; Users { get; protected set; } } </code></pre> <p>Cascade settings:</p> <pre><code> var relationalMapper = new ObjectRelationalMapper(); relationalMapper.TablePerConcreteClass(domainEntities); relationalMapper.Patterns.PoidStrategies.Add(new NativePoidPattern()); relationalMapper.Cascade&lt;User, Role&gt;(Cascade.Persist); relationalMapper.Cascade&lt;Role, User&gt;(Cascade.Persist); </code></pre> <p>This automapping gives:</p> <pre><code>&lt;class name="User" table="Users"&gt; &lt;id name="Id" type="Int32"&gt; &lt;generator class="native" /&gt; &lt;/id&gt; &lt;many-to-one name="Role" column="RoleId" cascade="save-update, persist" /&gt; </code></pre> <p> I want to delete User without delete Role. All most all tests have passed, but this one falls:</p> <pre><code>this.role = new Role(); this.user = new User(this.role) { Login = "memoryUser", Password = "memoryPass" }.SetIdTo(0); role.Users.Add(user); this.session.SaveOrUpdate(this.user); repo.Delete(this.user); var u = repo.GetByName("memoryUser"); u.Should().Be.Null(); </code></pre> <p>Error message: It appears when I try to get deleted users (var u = repo.GetByName("memoryUser");).</p> <blockquote> <p>deleted object would be re-saved by cascade remove deleted object from associations</p> </blockquote> <p>What should I do to fix this problem?</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload