FluentNHibernate Один в Много Картография - PullRequest
0 голосов
/ 15 июня 2011

Я новичок в NHibernate & FNH. Ниже приведен основной сценарий, которого я пытаюсь достичь Существует два класса сопоставления сущностей "Клиент" и "Заказ"

Клиент

Table("CUSTOMERTEST");
            LazyLoad();
            Id(x => x.CustomerId).Column("CustomerId").GeneratedBy.Sequence("SYS");
            Map(x => x.CompanyName).Column("CompanyName");
            Map(x => x.ContactName).Column("ContactName");
            HasMany(x => x.Orders).KeyColumn("CustomerId").Cascade.All().Table("ORDERTEST").AsBag();

Заказать

Table("ORDERTEST");
            LazyLoad();
            Id(x => x.OrderId).Column("OrderId").GeneratedBy.Sequence("SYS");
            References(x => x.OrderedBy).Column("CustomerId");
            References(x => x.ProductDetails).Column("ProductId");
            Map(x => x.OrderDate).Column("OrderDate");
            Map(x => x.ShipToName).Column("ShipToName");

Я пытаюсь получить сведения о заказе для конкретного клиента, хотя указывается свойство, указанное ниже в классе сущности клиента.

public virtual IList<Order> Orders {
            get { return new List<Order>(orders).AsReadOnly(); }
            protected set { orders = value; }
        }

Но я могу получить данные о клиенте в объекте объекта клиента, но он "Заказы" для конкретного клиента всегда пуст. Я не делаю никаких операций обновления, мне просто нужно получать данные только из БД. Эми, я делаю что-то не так или как мы можем получить это?

Заранее спасибо

1 Ответ

0 голосов
/ 15 июня 2011

В вашем классе клиентов:

public virtual IList<Order> Orders
        {
            get { return _orders; }
        }

private readonly IList<Order> _orders = new List<Order>();

также вы можете добавить публичные методы для добавления или удаления элементов из заказов

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