LLBLgen 3.5派生表查询

收割者

我正在尝试让以下SQL与llblgen一起使用...

SELECT *,(SELECT TOP (1) Id FROM Content.Grades WHERE Account = Authentication.Account.Id ORDER BY Grades.GradingDate DESC) AS CurrentGrade FROM Authentication.Account WHERE (SELECT TOP (1) Grade FROM Content.Grades WHERE Account = Authentication.Account.Id ORDER BY Grades.GradingDate DESC) = 5


 var dtFields = new ResultsetFields(1);
            dtFields.DefineField(GradesFields.Id, 0);
            var dtDefinition = new DerivedTableDefinition(
                           dtFields, "c", new PredicateExpression(GradesFields.Grade == SelectedGrade.Value));

            // specify the relation which is a dynamic relation. 
            var relation = new DynamicRelation(dtDefinition, JoinHint.Inner,
                                            EntityType.GradesEntity, "o",
                                           (new EntityField2(AccountFields.Id.ToString(), "c", typeof(string)) ==
                                            GradesFields.Account.SetObjectAlias("o")));

            RelationBucket.Relations.Add(relation);

每当我尝试查询时,我都在努力做到这一点,因为我在现场遇到错误...

收割者

好的,我在这里解决了自己的问题。

使用派生表时,我们需要在所有引用上设置对象别名。这包括排序字段和谓词字段。

            var dtFields = new ResultsetFields(2);
            dtFields.DefineField(GradesFields.Account, 0);
            dtFields.DefineField(GradesFields.Grade, 1);
            var dtDefinition = new DerivedTableDefinition(
                           dtFields, "c", null, null,
                           new SortExpression(GradesFields.GradingDate | SortOperator.Descending), null, 1, false);

            // specify the relation which is a dynamic relation. 
            var relation = new DynamicRelation(dtDefinition, JoinHint.Inner,
                                            EntityType.AccountEntity, "o", (AccountFields.Id.SetObjectAlias("o") ==
                                            GradesFields.Account.SetObjectAlias("c")));

            repositoryQuery.Relations.Add(relation);
            repositoryQuery.PredicateExpression.Add(new EntityField2("Grade", "c", typeof(int)) == SelectedGrade.Value);

 AccountFields.Lastname.SetObjectAlias("o") | SortOperator.Ascending,

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

LLBLGen-如何使用CatalogNameOverwriteHashtable

来自分类Dev

LLBLGen-如何使用CatalogNameOverwriteHashtable

来自分类Dev

将LLBLGen实体映射到DTO

来自分类Dev

如何在LLBLGen中指定AssemblyVersion?

来自分类Dev

如何在LLBLGen中指定AssemblyVersion?

来自分类Dev

使用LLBLGen DataAccessAdapter获取通用实体/集合?

来自分类Dev

LLBLGen Pro-加入与预取路径

来自分类Dev

将LLBLGen模型类转换为View模型对象?

来自分类Dev

LLBLGEN 中的 TypedList 与数据库有何关系?

来自分类Dev

3表SQL查询

来自分类Dev

如何执行联接或在关系或预取上放置where子句?(LLBLGen)

来自分类Dev

Magento联接查询使用3表查询

来自分类Dev

每5秒刷新一次D3生成的表

来自分类Dev

使用ECDiffieHellmanP256派生密钥

来自分类Dev

Scala Play框架2.1派生类

来自分类Dev

使用OpenSCv14.0派生密钥

来自分类Dev

Highcharts 3D派

来自分类Dev

树莓派 3 上的 SSH

来自分类Dev

裸机编程树莓派 3。

来自分类Dev

sql select 3个表中的查询

来自分类Dev

用查询SQL联接3个表

来自分类Dev

Oracle SQL Developer查询3个表

来自分类Dev

具有3个表的SQL查询

来自分类Dev

跨3个表的SQL选择查询

来自分类Dev

3表SELECT查询的正确语法

来自分类Dev

用于3表查询的ActiveRecord或SQL语句

来自分类Dev

MySQL查询加入3个表

来自分类Dev

具有3个表的SQL查询

来自分类Dev

内部联接查询-3个表