Mapping a component with a collection of value objects

101 views Asked by At

How do I map (using xml-based approach) a value object (component) which contains ISet<String> property?

[Serializable]
public class Contact
{
    public ISet<String> PhoneNumbers { get; set; }
    public String Email { get; set; }       
}

Thanks!

1

There are 1 answers

0
NOtherDev On BEST ANSWER

Use element.

<set name="PhoneNumbers" table="phone_numbers">
    <key column="contact_id">
    <element column="phone_number" type="String"/>
</set>

If you're going to use PhoneNumbers property just for displaying purpose, consider "cheaper" approach with serializing the data, without separate table and separate query to fetch the collection.