在我的MSSQL中,我有两个表,Property和Photo。流利Nhibernate映射hasMany
为了缩短我在这里只写几个字段。 属性表
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);
}
你应该添加标签'fluent-nhibernate',plz。 – dwerner 2012-03-18 19:25:02
你想让协会出现在哪一边?我会看看流利的文档,我更喜欢自己的xml映射:S。 – dwerner 2012-03-18 19:44:56
如何将多张照片与一个物业关联?有没有你没有提到的“链接”表? – 2015-08-12 19:50:56