public static void SetEntryList <TModel>( this ARProxy <TModel> proxy, string qualification, TModel model, params Expression <Func <TModel, object> >[] propertiesTobeUp) where TModel : ARBaseForm { if (propertiesTobeUp == null || propertiesTobeUp.Length == 0) { return; } ITypeMetaProvider <TModel> metaProvider = new ExpressionTypeMetaProvider <TModel>(propertiesTobeUp); ModelMeteData <TModel> MetaData = new ModelMeteData <TModel>(); MetaData.FormName = metaProvider.GetFormNameFromModelType(); MetaData.Model = model; var props = metaProvider.GetPropertyInfoes(BindingFlags.GetProperty | BindingFlags.Public | BindingFlags.Instance, null); MetaData.Properties = new List <PropertyAndField <TModel> >(); foreach (var p in props) { if ((p.AccessLevel & ModelBinderAccessLevel.OnlyUnBind) == ModelBinderAccessLevel.OnlyUnBind) { MetaData.Properties.Add(p); } } int total = -1; List <AREntry> entries = proxy.GetARServer().GetEntryList(MetaData.FormName, qualification, null, 0, null, ref total, null); foreach (var entry in entries) { string entryid = string.Join("|", entry.EntryIds.ToArray()); MetaData.EntryId = entryid; proxy.SetEntry(MetaData); } }