Files
zszq-trs/Framework/YLErp.Core/Abstract/IDataSource.cs
T
2024-05-09 14:06:26 +08:00

61 lines
1.3 KiB
C#

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