Хранится в Domainlayer. С моей точки зрения, вы не хотите зависеть от уровней инфраструктуры / DAL от вашего domainLayer.
Второй лучший подход, который я попробовал, - это иметь третью отдельную сборку, такую как DDDBaseFramework, которую вы можете использовать повторно.