SQLKata-Where子句

时间:2019-04-01 13:45:07

标签: c# sqlite sqlkata

我已经尝试使用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

2 个答案:

答案 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);