Коллекция не может быть нулевым исключением при использовании HashSet в NHibernate

У меня в моей сущности NHibernate есть следующее:

    private ICollection<string> _stringSet = new HashSet<string>();
    public virtual ICollection<string> StringSet
    {
        get { return _stringSet; }
    }

Затем в моем Fluent-сопоставлении я отображаю это так:

    HasMany(x => x.StringSet)
        .Table("String_Set")
        .Element("StringValue")
        .AsSet();

К сожалению, когда я пытаюсь сохранить сущности, я получаю ArgumentNullException о том, что «Коллекция не может быть нулевой». Я не получаю эту ошибку, если я использую для своего поля список по умолчанию, но, как вы видите в моем сопоставлении, я хочу установить поведение даже для несохраненного объекта. Мне кажется, проблема связана с тем, что HashSet <> не реализует неуниверсальную ICollection . Как правильно установить поведение для несохраненных объектов? Я также предпочел бы сохранить ICollection в качестве открытого типа.

5
задан StarKat99 13 July 2011 в 17:05
поделиться