我有一个联接表,其中原始表是数字类型,联接表键列是字符串类型。我试图避免做出必要的遗留决定,以最大程度地减少工作范围内的风险。
HasManyToMany<Attachment>(x => x.Attachments)
.Table("ObjectAttachments")
.ParentKeyColumn("ObjectId")
.ChildKeyColumn("AttachmentId")
.Fetch.Select()
.LazyLoad()
.AsBag();
Table("Attachments");
Id(x => x.Id);
Map(x => x.Name);
Map(x => x.Description);
Map(x => x.MimeType);
Map(x => x.Size);
Map(x => x.Date);
Map(x => x.Content).LazyLoad();
Join("ObjectAttachments", join =>
{
join.KeyColumn("Id");
join.Map(x => x.ObjectId);
});
最佳答案
一种解决方案是在表的字符串ID中添加额外的列,并使用公式将字符串ID转换为正确的数字类型。
这将数据库的问题限制在数据库中,而不是让它渗入代码中。
https://stackoverflow.com/questions/2479534/