You can try using OfType.
Like this:
You'll get error if duplicated value, the null ones will not be accounted.
var value = await context.Table
.Where(r => r.Id == recordId)
.OfType<YourEntity>()
.Select(r => r.Field)
.SingleAsync();