В MSSQL у меня есть две таблицы: Property и Photo.
Чтобы сделать это короче, я напишу здесь только несколько полей. Таблица свойств
Id int not null
Title nvarchar(255) not null
PhotoId int not null
Таблица фотографий
Id int not null
ImageData varbinary(MAX) null
ImageMimeType varchar(50) null
Связь следующая:
FK_Property_Photo
Primary Key table Foreign key table
--------------------------------------------
Photo Property
--------------------------------------------
Id PhotoId
Как вы понимаете, одно свойство может иметь одно или несколько изображений. Одно изображение может принадлежать одному или нескольким свойствам.
Я пробовал с таким отображением
public PropertyMap()
{
Table("Property");
Id(x => x.Id).GeneratedBy.Identity();
Map(x => x.Title).Length(255).Not.Nullable();
HasMany(x => x.Photos).KeyColumn("Id");
}
public PhotoMap()
{
Table("Photo");
Id(x => x.Id).GeneratedBy.Identity();
Map(x => x.Version);
Map(x => x.ImageData).CustomSqlType("VARBINARY(MAX)").Length(160000);
Map(x => x.ImageMimeType);
}