Я уже некоторое время пытаюсь использовать SqlKata, и я действительно не понимаю, как заставить работать одно и простое предложение WHERE.
Я делал это так:
var sistemas = DatabaseHelper.factory.Query("tblSistema").Where("id_fornecedor", fornc.id); он возвращает мне XQuery, и я понятия не имею, как его выполнить. Обратите внимание, что добавление First() и Get() в конец вызывает исключение.
'sistemas.Get()' threw an exception of type 'Microsoft.CSharp.RuntimeBinder.RuntimeBinderException'
Я просто хочу SELECT * FROM tblSistema WHERE id_fornecedor=1 например
'systemas.Get()' вызвало исключение типа 'Microsoft.CSharp.RuntimeBinder.RuntimeBinderException'
Это действительно должно быть частью вопроса, почему бы вам не редактировать?
После короткого поиска в Google я нашел ответ это SO, касающийся вашего исключения. Возможно ли, что вы передаете динамический объект другой сборке или что-то в этом роде?
Если вы жестко закодируете 1 вместо fornc.id, вы все равно получите исключение?





First() выполнить XQuery и вернуть первую запись только типа dynamic в вашем случае, внутри она применяется Limit(1) под капотом.
var book = db.Query("Books").Where("Id", 1).First();
Get() выполнить XQuery и вернуть List<dynamic>
var books = db.Query("Books").Where("Lang", "en").Get();
узнать больше на https://sqlkata.com/docs/execution/setup#queryfactory
var sistemas = DB.Query("tblSistema").Select("*").Where("id_fornecedor", fornc.id);
Вы также можете сделать:
var sistemas = DB.Query("tblSistema").Select("*").Where("id_fornecedor", " = ", fornc.id);
Оператор не является обязательным. = по умолчанию.
И если вы хотите сделать определенные выборки, вы должны сделать:
var sistemas = DB.Query("tblSistema").Select("tblSistema.id_fornecedor", "tblSistem.blahSelect").Where("id_fornecedor", " = ", fornc.id);
«Обратите внимание, что добавление First() и Get() в конец вызывает исключение». какая ошибка?