using System.Linq.Expressions; namespace YLErp.Abstract { /// /// 数据源接口 /// public interface IDataSource { /// /// 数据个数 /// int Count { get; } /// /// 重置数据源 /// void ResetDataSource(); } /// /// 数据源接口 /// public interface IDataSource : IDataSource { TData GetData(int keyId); /// /// 获取数据 /// IQueryable AsQueryable(Expression> predicate = null); } /// /// 数据源接口 /// public interface IDataSourceV2 : IDataSource { bool TryGetData(int keyId, out TData data); } /// /// 数据源接口 /// public interface IDataSourceKey2 : IDataSource { TData GetData(string keyStr); } /// /// 数据源事件接口 /// public interface IDataSourceEvent { /// /// 数据源被更新后的事件 /// event EventHandler DataSourceUpdated; } }