1

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

4

2 回答 2

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上查看更多信息

于 2019-04-02T21:07:03.653 回答
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);
于 2019-08-19T18:30:13.110 回答