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

У меня есть 2 класса, MasterItem и ItemUOM. ItemUOM - это представление, которое я сопоставил, а MasterItem - прямая таблица. Можно ли ссылаться на MasterItem в ItemUOM.

Класс ItemUOM:

 public class ItemUOM : EntityBase<ItemUOM>
{
    public virtual string ItemAlias { get; set; }
    public virtual string Code { get; set; }
    public virtual string UOM { get; set; }
    public virtual decimal PackSize { get; set; }
    public virtual long MasterItemID { get; set; }
    **public virtual DomainEntities.MasterItem MasterItem { get; set; }**
}

Отображение ItemUOM

    public ItemUOMMapping()
    {
        Table("View_ItemUOM");
        Id(x => x.ID);
        Map(x => x.Code);
        Map(x => x.ItemAlias);
        Map(x => x.UOM);
        Map(x => x.PackSize);
    }

Как мне сослаться на класс "MasterItem".

Спасибо, Франсуа

Ответы [ 2 ]

1 голос
/ 12 сентября 2011

Вам необходимо удалить MasterItemID и использовать References(x => x.MasterItem) и т. Д.

0 голосов
/ 12 сентября 2011

Похоже, вам нужен обычный много-к-одному :

public ItemUOMMapping()
{
    Table("View_ItemUOM");
    Id(x => x.ID);
    Map(x => x.Code);
    Map(x => x.ItemAlias);
    Map(x => x.UOM);
    Map(x => x.PackSize);
    References(x => x.MasterItem)
        .Column("MasterItemID");
}

И MasterItem должен иметь свое собственное отображение, где вы указываете все его свойства.

...