var result = db.Document.Get<UserInfo>($"Users/{userId}");
If userId with value "abc.def" is supplied an exception Specified 'id' value (Users/abc.def) has invalid format. will be returned. However this is a valid id and using AQL as follows will work
var result = db.Query
.BindVar("userId", userId)
.Aql("FOR u in Users FILTER u._key == @userId RETURN u")
.ToObject<UserInfo>();
This seems to be a bug in key format checking regex which doesn't allow some punctuation characters stated in key naming conventions. I'll try to fix it today or tomorrow.
If userId with value "abc.def" is supplied an exception
Specified 'id' value (Users/abc.def) has invalid format.
will be returned. However this is a valid id and using AQL as follows will work