Я начинаю разрабатывать с Fluent NHiberate, и мне было интересно, как я создаю определенные отношения «Внешний ключ» в своем классе Mapping.
Вот мой класс. Эти классы один на один со связанными таблицами.
public class Song
{
public virtual int SongID{ get; private set; } //Primary Key
public virtual int SongArtistID { get; set; } //Foreign Key mapping to 'Artist.ArtistID'
public virtual string Title { get; set; }
}
public class Artist
{
public virtual int ArtistID{ get; private set; } //Primary Key
public virtual int ArtistName{ get; set; }
}
public class SongMapping : ClassMap<Song>
{
SongMapping()
{
Id(c => c.SongID);//.GeneratedBy.HiLo("sermon"); is HiLo generator good?
Map(c => c.SermonArtistID).Not.Nullable(); //How is this mapped to 'Artist.ArtistID'??
Map(c => c.Title).Not.Nullable().Length(50);
}
}
В моем файле сопоставления я хочу создать определенное отношение внешнего ключа в столбце SongArtistID класса Song, который будет определять внешний ключ для столбца ArtistID в таблице / классе Artist.