我已经尝试使用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
答案 0 :(得分:1)
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的更多信息
答案 1 :(得分:1)
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);