1
1.)LINQでDISTINCTクエリを実行することはできますか?以下のAQLクエリと同等ですか?ArangoDB .NETクライアント:クエリに関するさまざまな質問(DISTINCT、LET/DOCUMENT、生AQL)
2.) "LET doc = DOCUMENT(some._id)"は可能ですか?私は以下のようなクエリを試しましたが、Documentがサポートされていないという例外がありました。
from user in users
let dept = db.Document<Department>(user.department_id)
where dept.name == "lingerie"
select user
3.)バインドパラメータを使用して生のAQLクエリをどのように作成しますか?私はCreateStatement()を試しましたが、パラメータ置換を行うことができませんでした( 'evts'はいくつかのドキュメントIDを持つIEnumerableです)。
List<ArangoDB.Client.Data.QueryParameter> parameters = new List<ArangoDB.Client.Data.QueryParameter>() {
new ArangoDB.Client.Data.QueryParameter() {
Name = "@P1",
Value = evts,
},
};
query = Database.CreateStatement<InspectionMethod>(@"
FOR cfg IN test_configuration
FOR method IN inspection_method
FILTER cfg.inspection_method_id == method._id AND cfg.test_event_id IN @P1
SORT method.name
RETURN DISTINCT method", parameters)
.AsEnumerable().AsQueryable();
デバッグ出力:
==============================
5/11/2017 2:02:54 PM
creating an AQL query:
query:
FOR cfg IN test_configuration
FOR method IN inspection_method
FILTER cfg.inspection_method_id == method._id AND cfg.test_event_id IN @P1
SORT method.name
RETURN DISTINCT method
bindVars:
name: @P1 value: ["test_event/7250917"]
parsed query with variables replaced:
FOR cfg IN test_configuration
FOR method IN inspection_method
FILTER cfg.inspection_method_id == method._id AND cfg.test_event_id IN @P1
SORT method.name
RETURN DISTINCT method