}//method //This is a special case - OrderBy attribute specifies the order of entities in list property. public override void ApplyOnMember(EntityModelBuilder builder) { var entity = HostEntity; var listInfo = HostMember.ChildListInfo; EntityModelBuilderHelper.TryParseKeySpec(HostMember.ChildListInfo.TargetEntity, this.OrderByList, builder.Log, out listInfo.OrderBy, ordered: true, specHolder: HostEntity); }
private void ProcessIndexIncludesAndFilters(IActivationLog log) { if (!string.IsNullOrWhiteSpace(this.Filter)) { Key.IndexFilter = EntityModelBuilder.ParseFilter(this.Filter, this.HostEntity, log); } // Check include fields if (!string.IsNullOrWhiteSpace(this.IncludeMembers)) { if (EntityModelBuilderHelper.TryParseKeySpec(HostEntity, this.IncludeMembers, log, out List <EntityKeyMemberInfo> keyMembers, ordered: false)) { Key.IncludeMembers.AddRange(keyMembers.Select(km => km.Member)); } } }
public override void ApplyOnEntity(EntityModelBuilder builder) { if (HostEntity.DefaultOrderBy != null) { builder.Log.Error("More than one OrderBy attribute in entity {0}.", HostEntity.Name); } if (!EntityModelBuilderHelper.TryParseKeySpec(HostEntity, this.OrderByList, builder.Log, out HostEntity.DefaultOrderBy, ordered: true, specHolder: HostEntity)) { return; } //Check that they are real cols foreach (var ordM in HostEntity.DefaultOrderBy) { if (ordM.Member.Kind != EntityMemberKind.Column) { builder.Log.Error("Invalid property {0} in OrderBy attribute in entity {1} - must be a simple value column.", ordM.Member.MemberName, HostEntity.Name); } } }//method