Multiple repository calls or LINQ query
I personally like the Second option, like you said it is cleaner, easier to read, and looks fairly simple and straight to the point. 

I don't see any obvious mistakes in your code.

I can only suggest that you test it vigorously and perhaps check out the option given by @Jignesh Thakker in the comments.



you could reduce the amount of code by merging a variable to your return statement in the second block of code like this.

return query.FirstOrDefault( );


Instead of

var emailAddress = query.FirstOrDefault( );
return emailAddress;