Pergunta

Por favor, perdoe a pergunta desajeitada (se você pode descobrir uma maneira melhor palavra a sensação pergunta livre para editar distância).

Eu tenho duas classes SupportTicketCategory e SupportTicket (respectivamente):

   public class SupportTicketCategory
{
    public SupportTicketCategory()
    { }

    private int _supportTicketCategoryID;
    public virtual int SupportTicketCategoryID
    {
        get { return _supportTicketCategoryID; }
        set
        {
            _supportTicketCategoryID = value;
        }
    }

    private string _supportTicketCategoryName;
    public virtual string SupportTicketCategoryName
    {
        get { return _supportTicketCategoryName; }
        set
        {
            _supportTicketCategoryName = value;
        }
    }


}

e

     public SupportTicket()
    { }

    private int _supportTicketID;
    public virtual int SupportTicketID
    {
        get { return _supportTicketID; }
        set
        {
            _supportTicketID = value;
        }
    }

    private SupportTicketCategory _supportTicketCategory;
    public virtual SupportTicketCategory SupportTicketCategory { get; set; }

Meu estrutura de tabela é a seguinte:

CREATE TABLE [dbo].[supporttickets](
[supportticketid] [int] IDENTITY(1,1) NOT NULL,
[supportticketcategoryid] [int] NOT NULL,
 CONSTRAINT [PK_supporttickets] PRIMARY KEY CLUSTERED 
(
    [supportticketid] ASC
)
) ON [PRIMARY]

ALTER TABLE [dbo].[supporttickets]  
WITH CHECK ADD CONSTRAINT
[FK_supporttickets_supportticketcategories] 
FOREIGN KEY([supportticketcategoryid])
REFERENCES [dbo].[supportticketcategories] ([supportticketcategoryid])

ALTER TABLE [dbo].[supporttickets] CHECK CONSTRAINT  [FK_supporttickets_supportticketcategories]

CREATE TABLE [dbo].[supportticketcategories](
    [supportticketcategoryid] [int] IDENTITY(1,1) NOT NULL,
    [supportticketcategoryname] [varchar](50) NOT NULL,
 CONSTRAINT [PK_supportticketcategories] PRIMARY KEY CLUSTERED 
(
    [supportticketcategoryid] ASC
)
) ON [PRIMARY]

Então, basicamente, eu quero mapear uma SupportTicketCategory para o SupportTicket como é na minha classe, porém eu não consigo descobrir o que é o tipo de mapeamento adequado e não pode encontrar um exemplo disso nas interwebs.

Update: Eu mudei a propriedade SupportTicketCategory para getters da velha escola e setters e funcionou ... açúcar sintaxe para perda.

Foi útil?

Solução

Se você usar MyGeneration com o NHibernate modelo , você pode apontá-lo para o seu banco de dados e ele vai fazer os mapeamentos para você, para que você possa ver como ele deve ser feito.

Outras dicas

Eu acho que o que você está procurando é o elemento "muitos-para-um". (Isto vai dentro do seu elemento de classe para SupportTicket)

<many-to-one name="SupportTicketCategory" column="SupportTicketCategoryId" update="false" insert="false" />

muitos para um mapeamento pode ser feito assim:

<many-to-one name="SupportTicketCategory" class="SupportTicketCategory" not-null="false" column="SupportTicketCategoryId" />
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top