Fluent-NHibernate mapping - PullRequest
       9

Fluent-NHibernate mapping

0 голосов
/ 09 февраля 2009

В моей базе данных есть поле, связанное со списком писем через запятую. Как мне сопоставить это с IList<string> в моей модели?

Ответы [ 2 ]

2 голосов
/ 09 февраля 2009

Вы должны реализовать IUserCollection, который будет сопоставлять ваш столбец CSV с реальным списком электронных писем, а затем сериализовать его обратно при сохранении.

0 голосов
/ 09 февраля 2009

Таблица, о которой идет речь, даже не является первой нормальной формой, что плохо.

Единственный способ, которым вы можете сделать это, это что-то вроде:

class Foo
{       
    private List<string> emails = new List<string>();       

    public string _Emails 
    { 
        get { return string.Join(",", emails.ToArray()); }
        set { emails = new List<string>(value.Split(',')); }
    }       

    public IList<string> Emails
    { 
        get { return emails; }          
    }
}

и карта _Emails собственность.

Редактировать

Еще одно решение - реализация ваших собственных IUserType или IUserCollection. Таким образом, ваша модель будет намного красивее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...