У меня есть исключение «System.InvalidOperationException: попытка добавить коллекцию« Media », когда она уже была добавлена» при создании конфигурации с помощью свободно используемого nhibernate. У меня это есть только когда какое-то отображение извлекается в общий метод.
Вот что у меня есть:
public class PartyMap : IAutoMappingOverride<Party>
{
public void Override(AutoMapping<Party> mapping)
{
mapping.MapMedia(); // doesn't work
// mapping.MapMedia<Party>(); doesn't work neither
// this works, but I want to extract this!
// mapping.HasManyToMany(x => x.Media).Table("MediaLinks").Cascade.All();
}
}
// this doesn't work
public static void MapMedia<T>(this AutoMapping<T> mapping)
where T : IEntityInMedia
{
mapping.HasManyToMany(x => x.Media).Table("MediaLinks").Cascade.All();
}
// this works, but I want this method to be generic!
public static void MapMedia(this AutoMapping<Party> mapping)
{
mapping.HasManyToMany(x => x.Media).Table("MediaLinks").Cascade.All();
}
Я не могу просмотреть сгенерированное сопоставление, поскольку получаю эту ошибку до того, как сопоставление может быть экспортировано.
Я только что нашел несколько похожих постов это и это , но там нет никакого решения.