Я пытаюсь программно добавить предложение where к источнику LinqDatasource моего gridview, но получаю исключение, говорящее: «Operator» = «несовместим с типами операндов Guid и Int32»
if (e.CommandName == "getuser")
{
int index = Convert.ToInt32(e.CommandArgument);
GridViewRow selectedRow = GridView1.Rows[index];
Guid id = new Guid(selectedRow.Cells[1].Text);
LinqDataSource2.Where = "UserID = " + id;
GridView1.DataSourceID = LinqDataSource2.ID;
GridView1.DataBind();
}
Кто-нибудь знает, как, когда и почему мой Guid конвертируется в int?
Fixed
добавил строку
LinqDataSource2.WhereParameters.Add("UserID", System.Data.DbType.Guid, id.ToString());
Я предполагаю, что int32 - это стандартный тип, когда в параметрах where ничего не задано, а только где.
Просто угадайте, если кто-то знает больше, пожалуйста, сообщите мне.