2010-02-04 2 views
0

Я нашел несколько сообщений об этом, но никто, кажется, мне не помогает. Также, похоже, существует путаница в отношении решений, работающих или не работающих на разных этапах разработки FluentNHibernate.(Fluent) NHibernate: сопоставление IDictionary <MappedClass, MyEnum>

У меня есть следующие классы:

public class MappedClass 
{ 
    ... 
} 

public enum MyEnum 
{ 
    One, 
    Two 
} 

public class Foo 
{ 
    ... 
    public virtual IDictionary<MappedClass, MyEnum> Values { get; set; } 
} 

Мои вопросы:

  1. Будет ли нужен отдельный (третий) таблицу MyEnum?
  2. Как я могу сопоставить тип MyEnum? Нужно ли мне?
  3. Какое должно быть отображение Foo?

Я попытался отображение HasMany (х => x.Values) .AsMap ("MappedClass") ... В результате: ссылки Ассоциация неотображенного класс:: NHibernate.MappingException MyEnum

+0

Вы используете объект как ключ и перечисление как значение? –

+0

Существуют ли конкретные соображения или преимущества для альтернативы? – anthony

+0

конкретно, каждый Foo может иметь одно значение MyEnum для MappedClass. я не совсем понимаю, каким будет лучший способ представить эту структуру. – anthony

ответ

0

It похоже, эти вопросы являются дубликатом Fluent code for mapping an IDictionary<SomeEntity, int>?. Решение заключалось в том, чтобы использовать hbm.xml для сопоставления таблицы тройных ассоциаций. Похоже, в то время метод FluentNHibernate AsTernaryAssocation() работал только для типов сущностей. Я не могу сказать, изменилось ли это, или если это запланированная функция.

Смежные вопросы