Beispiel #1
0
        /// <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] + ""));
        }