using System;
namespace DBEntitys
{
[AttributeUsage(AttributeTargets.Property, AllowMultiple = false)]
public class DBFieldNameAttribute : Attribute
{
///
/// 别名
///
public string FieldName { get; }
///
/// 构造函数
///
public DBFieldNameAttribute(string fieldName = "")
{
FieldName = fieldName;
}
}
///
/// 标记实体属性为时间区间字段
/// 使用此注解的属性在查询时会自动使用 WhereBetween
///
[AttributeUsage(AttributeTargets.Property, AllowMultiple = false)]
public class DateRangeFieldAttribute : Attribute
{
///
/// 是否为时间区间字段
///
public bool IsDateRange { get; }
///
/// 构造函数
///
/// 默认为true,标记为时间区间字段
public DateRangeFieldAttribute(bool isDateRange = true)
{
IsDateRange = isDateRange;
}
}
///
/// 标记实体属性在查询时忽略此字段
///
[AttributeUsage(AttributeTargets.Property, AllowMultiple = false)]
public class QueryIgnoreAttribute : Attribute
{
}
///
/// 标记实体属性使用 LIKE 查询
///
[AttributeUsage(AttributeTargets.Property, AllowMultiple = false)]
public class LikeFieldAttribute : Attribute
{
}
///
/// 标记实体属性使用 IN 查询(字段值为逗号分隔的多个值)
///
[AttributeUsage(AttributeTargets.Property, AllowMultiple = false)]
public class InFieldAttribute : Attribute
{
///
/// 分隔符,默认为逗号
///
public char Separator { get; set; } = ',';
}
}