public async Task <Address> ExistsAsync(Address address) { var country = await _countryRepository.FindByNameAsync(address.Country.Name); var ZIP = await _zipCodeRepository.FindByCodeAsync(address.ZIP.Code); var street = await _streetRepository.FindByNameAsync(address.Street.Name); if (country == null || ZIP == null || street == null) { return(null); } var result = await FindRange ( x => x.AppartementBus == address.AppartementBus && x.Country.Name == country.Name && x.ZIP.Code == ZIP.Code && x.Street.Name == street.Name && x.HouseNumber == address.HouseNumber ); return(result.FirstOrDefault()); }