我正在映射一个照片类,它可以有很多照片,所以我决定创建其他类来控制这些照片。
所以我有两个主键(PhotoCode,fkCode),其中一个是我的外键。
public class Photo : EntityBase
{
public virtual long PhotoCode { get; set; }
public virtual long fkCode { get; set; }
public virtual byte[] Photo { get; set; }
public override bool Equals(object obj)
{
var other = obj as Photo;
if (ReferenceEquals(null, other)) return false;
if (ReferenceEquals(this, other)) return true;
return PhotoCode == other.PhotoCode &&
fkCode == other.fkCode;
}
public override int GetHashCode()
{
unchecked
{
int hash = GetType().GetHashCode();
hash = (hash * 31) ^ PhotoCode.GetHashCode();
hash = (hash * 31) ^ fkCode.GetHashCode();
return hash;
}
}
}
所以我想为我的PhotoCode设置一个Generator,在我的复合id上设置它。 这是我在类地图上的构造函数。
public MapActivityPhoto()
{
Table("Photo");
CompositeId()
.KeyProperty(c => c.PhotoCode, "PhotoCode")
.KeyProperty(c => c.fkCode, "fkCode");
Map(c => c.Photo).Column("Photos");
}
我知道如何在Id上设置它,但是我如何在复合上设置它?
示例Id:
Id(i => i.Code).Column("Code").GeneratedBy.Native("GeneratorCode");