Question: I am building an Web API with .NET core using `GraphQL` and `DocumentDb`.

In theory, `GraphQL` is optimized the data is shipped across the network and thus avoid over-fetching data. But I recognize that the backend server and database is doing the extra unnecessary work (query the entire document) when querying the database.

The best strategy here is using `Select()` to specific properties we need to fetch. But I have no idea how to build the expression from client's query that so complex.

Any help really appreciated.

Thanks

Answer: 
If you do not care about displaying the value to change to before really accepting the change (by clicking "Yes") you could try to use the [SelectionChangeCommitted](https://learn.microsoft.com/en-us/dotnet/api/system.windows.forms.combobox.selectionchangecommitted?view=netframework-4.7) event handler to handle these changes and display the user dialog.
If you want to ask user after user trying to change that use this event handler `SelectionChangeCommitted`.
You can also change the state of Combo box to initial form by simply set the index number of combobox to `-1`

```
 comboBox1.SelectedIndex = -1;

```

so you can write the code above in click event handler of "No" button.