コード例 #1
0
        }//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);
        }
コード例 #2
0
 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));
         }
     }
 }
コード例 #3
0
 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