/// <summary>获取数据源</summary> /// <returns></returns> public virtual IDictionary <Object, String> GetDataSource() { var fact = EntityType.AsFactory(); var key = Key; var mst = fact.Master?.Name; if (key.IsNullOrEmpty()) { throw new ArgumentNullException("没有设置关联键", nameof(Key)); } if (mst.IsNullOrEmpty()) { throw new ArgumentNullException("没有设置主要字段"); } // 数据较少时,从缓存读取 var list = fact.Count < 1000 ? fact.FindAllWithCache() : fact.FindAll("", null, null, 0, 100); return(list.ToDictionary(e => e[key], e => e[mst] + "")); }