Как я могу исправить аргумент 2: не удается конвертировать из организаций системы.данных.лица.ядро.объекты.контекст objectcontext
private void AddProductsToTabbedPanel() { int i = 1; foreach (TabPage tp in tabControl1.TabPages) { ObjectQuery<tblproduct> filteredProduct = new ObjectQuery<tblproduct>("SELECT VALUE P FROM tblProduct AS P WHERE P.ProductType=" + i.ToString(),pce); FlowLayoutPanel flp = new FlowLayoutPanel { Dock = DockStyle.Fill }; foreach (tblProduct tprod in filteredProduct) { Button b = new Button { Size = new Size(100, 100), Text = tprod.Description, Tag = tprod }; b.Click += new EventHandler(UpdateProductList); tp.Controls.Add(b); flp.Controls.Add(b); }
а здесь
private void FilterList(object sender, EventArgs e) { ObjectQuery<tblproduct> filteredProducts = new ObjectQuery<tblproduct>("SELECT VALUE product FROM tblProducts AS product WHERE product.ProductType = " + cboFilter.SelectedValue,pce); dataGridView1.DataSource = filteredProducts; }
Что я уже пробовал:
попытался обновить модель EF до последней версии, но этот дозент исправил проблему
Quirkafleeg
Ваша проблема - это "pce", который должен быть типа" ObjectContext " - а это не так. Учитывая, что вы не предоставили никакого кода относительно того, что такое" pce", я не могу предоставить ничего большего.
Richard Deeming
Ваш код уязвим для SQL-инъекция[^]. НИКОГДА используйте конкатенацию строк для построения SQL-запроса. ВСЕГДА используйте параметризованный запрос.
Все, что вы хотели знать о SQL-инъекции (но боялись спросить) | Трой Хант[^]
Как я могу объяснить SQL-инъекцию без технического жаргона? | Обмен Стеками Информационной Безопасности[^]
Шпаргалка по параметризации запросов / OWASP[^]