NHibernate / Свободное отображение NHibernate - PullRequest
0 голосов
/ 09 сентября 2010

Можно ли отобразить следующую ситуацию?

  1. Класс продукта (в настоящее время таблица)
  2. Класс учетной записи (в настоящее время таблица)
  3. Класс accountproduct (в настоящее время таблица соединений, но с дополнительной информацией, связанной с конкретным продуктом и учетной записью)

В идеале мне бы хотелось, чтобы accountproduct расширял продукт и был доступен из учетной записи как продукта.

Класс продукта существовал бы отдельно и предоставлял свою собственную возможность.

1 Ответ

1 голос
/ 09 сентября 2010

Как насчет следующего:

    public class AccountProduct
    {
        public virtual int Id { get; set; }
        public virtual DateTime Date { get; set; }
        public virtual string Comments { get; set; }

        public virtual Account Account { get; set; }
        public virtual Product Product { get; set; }

        public class AccountProductMap : ClassMap<AccountProduct>
        {
            public AccountProductMap()
            {
                Id(x => x.Id);
                Map(x => x.Date);
                Map(x => x.Comments);
                References(x => x.Account);
                References(x => x.Product);
            }
        }
    } 

    public class Product
    {
        public virtual int Id { get; set; }
        public virtual int Name { get; set; }

        public class ProductMap : ClassMap<Product>
        {
            public ProductMap()
            {
                Id(x => x.Id);
                Map(x => x.Name);
            }
        }
    }

    public class Account
    {
        public virtual int Id { get; set; }
        public virtual int Name { get; set; }

        public class AccountMap : ClassMap<Account>
        {
            public AccountMap()
            {
                Id(x => x.Id);
                Map(x => x.Name);
            }
        }
    }
...