I have these tables:
create table cd_language_saaa
(
saaapk int not null PRIMARY KEY,
code varchar(50) not null
)
create table cd_calendar_saaj
(
saajpk int not null PRIMARY KEY,
code varchar(50) not null
)
create table calendar_translation_saak
(
saakpk int not null PRIMARY KEY,
saaj_cd_calendar int not null,
saaa_cd_language int not null,
short_description varchar(50) not null,
long_description varchar(255) not null,
CONSTRAINT U_calendartranslation
UNIQUE NONCLUSTERED (saaj_cd_calendar, saaa_cd_language),
CONSTRAINT FK_calendartranslation_salaat
FOREIGN KEY (saaj_cd_calendar)
REFERENCES cd_calendar_saaj (saajpk),
CONSTRAINT FK_calendartranslation_language
FOREIGN KEY (saaa_cd_language)
REFERENCES cd_language_saaa (saaapk)
)
This is sample data in these tables:
insert into cd_language_saaa (saaapk, code) values (1, 'English')
insert into cd_language_saaa (saaapk, code) values (2, 'French')
insert into cd_calendar_saaj (saajpk, code) values (1, 'Gregorian')
insert into cd_calendar_saaj (saajpk, code) values (2, 'Hijri')
insert into calendar_translation_saak
(saakpk, saaj_cd_calendar, saaa_cd_language, description)
values (1, 1, 1, 'Gregorian')
insert into calendar_translation_saak
(saakpk, saaj_cd_calendar, saaa_cd_language, description)
values (2, 1, 2, 'Gregorian (fr)')
insert into calendar_translation_saak
(saakpk, saaj_cd_calendar, saaa_cd_language, description)
values (3, 2, 1, 'Hijri')
insert into calendar_translation_saak
(saakpk, saaj_cd_calendar, saaa_cd_language, description)
values (4, 2, 2, 'Hijri (fr)')
Now I am building classes for these tables:
public class CdLanguage
{
private short _languageId;
private string _languageCode;
}
public class CdCalendar
{
private short _calendarId;
private string _calendarCode;
}
public class CalendarTranslation
{
private int _calendarTranslationId;
private CdCalendar _cdCalendar;
private CdLanguage _cdLanguage;
private string _shortDesc;
private string _longDesc;
}
Now question is how can the CdCalendar has reference to its
CalendarTranslation(s)?
I can modify CdCalendar to be
public class CdCalendar
{
private short _calendarId;
private string _calendarCode;
private CalendarTranslation[] _calendarTranslations;
}
But would not it be bad that CdCalendar has a a reference to a class which
depends on CdCalendar creation?
Or may be I am not designing CdCalendar properly. Do I really need
CalendarTranslation?
Thanks