octokit.graphql.net
octokit.graphql.net copied to clipboard
Complex query duplicates parameter...
trafficstars
Incorrect form
var expression = new Query()
.Select(q => new
{
repo1 = q.Repository("foo", "bar").Name.Single(),
repo2 = q.Repository("foo", "bar").Name.Single()
});
results in:
query {
repository(owner: "foo", name: "bar", owner: "foo", name: "bar") {
name
}
}
Correct form
var expression = new Query()
.Select(q => new
{
repo1 = q.Repository("foo", "bar").Select(repository => new { repository.Name }).Single(),
repo2 = q.Repository("foo", "bar").Select(repository => new { repository.Name }).Single()
});
results in:
query {
repo1: repository(owner: ""foo"", name: ""bar"") {
name
}
repo2: repository(owner: ""foo"", name: ""bar"") {
name
}
}
Explanation
This feels similar to tests Cannot_Select_QueryableValue and Cannot_Select_QueryableList.
We should be capturing this case somehow and throwing an exception.
I'm starting to realize this is bug is due to the interpretative nature of our querying...
I finally figured this one out.