손실로, nhibernate에서 두 클래스를 매핑하는 방법
-
03-07-2019 - |
문제
서투른 질문을 용서하십시오 (질문을 더 잘 말할 수 있다면 질문을 자유롭게 편집 할 수 있습니다).
SupportTicketCategory 및 SupportTicket (각각)이 두 가지 클래스가 있습니다.
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;
}
}
}
그리고
public SupportTicket()
{ }
private int _supportTicketID;
public virtual int SupportTicketID
{
get { return _supportTicketID; }
set
{
_supportTicketID = value;
}
}
private SupportTicketCategory _supportTicketCategory;
public virtual SupportTicketCategory SupportTicketCategory { get; set; }
내 테이블 구조는 다음과 같습니다.
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]
기본적으로, 나는 수업에서와 같이 supportTicketCategory를 supportTicket에 매핑하고 싶습니다. 그러나 적절한 매핑 유형이 무엇인지 알 수 없으며 인터 웹에서 이것의 예를 찾을 수 없습니다.
업데이트:나는 supportTicketCategory 속성을 구식 학교 getters and setters로 변경했고, 그 일이 효과가있었습니다 ... Syntax Sugar는 손실을 일으켰습니다.
해결책
사용하는 경우 mygeneration 이랑 nhibernate 템플릿, 당신은 당신의 데이터베이스를 가리키면 매핑을 만들어서 어떻게 해야하는지 알 수 있습니다.
다른 팁
나는 당신이 찾고있는 것이 "다중"요소라고 생각합니다. (이것은 supportTicket의 클래스 요소에 들어갑니다)
<many-to-one name="SupportTicketCategory" column="SupportTicketCategoryId" update="false" insert="false" />
다음과 같이 많은 매핑을 할 수 있습니다.
<many-to-one name="SupportTicketCategory" class="SupportTicketCategory" not-null="false" column="SupportTicketCategoryId" />
제휴하지 않습니다 StackOverflow