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;
}
}