I have two NHibernate-managed entities that have a bi-directional one-to-many relationship:
public class Storage
{
public virtual string Name { get; set; }
public virtual IList<Box> Boxes { get; set; }
}
public class Box
{
public virtual string Box { get; set; }
[DoNotSerialize] public virtual Storage ParentStorage { get; set; }
}
A Storage
can contain many Boxes
, and a Box
always belongs in a Storage
. I want to edit a Box's
name, so I send it to the client using JSON. Note that I don't serialize ParentStorage
because I'm not changing which storage it's in.
The client edits the name and sends the Box
back as JSON. The server deserializes it back into a Box
entity.
Problem is, the ParentStorage
property is null. When I try to save the Box
to the database, it updates the name, but also removes the relationship to the Storage
.
How do I properly serialize and deserialize an entity like a Box
, while keeping the JSON data size to a minimum?