Как настроить отношение внешнего ключа Dapper.FastCRUD

Возникли проблемы с JOIN с использованием Dapper.FastCRUD. Мне нужно отразить такой запрос в Dapper:

select * from Code C
left join Label L on C.CodeId = L.CodeId
left join Param P on C.CodeId = P.CodeId

Я не могу настроить класс модели с помощью атрибутов.

public class Code
{
    [Key]
    [ForeignKey(nameof(LabelData))]
    [ForeignKey(nameof(PropData))]
    public int CodeId { get; set; }
    public Label LabelData { get; set; }
    public Prop PropData { get; set; }
}

Это явно не нормально, потому что один и тот же атрибут не может быть установлен дважды.

Подход Fluent-API также не работает:

OrmConfiguration.GetDefaultEntityMapping<Code>()
   .SetProperty(b => b.CodeID,
       prop => prop.SetChildParentRelationship<Label>(nameof(Label)))
   .SetProperty(b => b.CodeID,
       prop => prop.SetChildParentRelationship<Prop>(nameof(Prop)));

connnection.Find<Code>(s => s.Include<Label>())

выдача ошибки при выполнении запроса:Could not find any relationships involving 'DataAccessLayer.Models.LabelData

Есть идеи? Вики проекта не охватывали этот сценарий: https://github.com/MoonStorm/Dapper.FastCRUD/wiki/JOINs

0 ответов

Другие вопросы по тегам