ICRUDProxyCategoryFilterTextPropNameOfNavigatedByType Property

类别过滤条件属性导航到的实体类型的文本属性名称。

Definition

Namespace: QuickAdmin.RCL
Assembly: QuickAdmin.Net (in QuickAdmin.Net.dll) Version: 1.0.122
C#
string CategoryFilterTextPropNameOfNavigatedByType { get; }

Property Value

string

Remarks

类别在客户端展示为一个下拉框控件,此属性在获取该下拉框数据源(即 CategoryFilterPropertyName 属性可用的值的列表)时使用。
类别下拉框数据将从导航属性实体类型对应的数据表中查询,下拉框选项的值将取导航实体的主键属性值,而选项的文本将取导航实体的此属性值,且在查询导航实体数据时将使用 CategoryFilterOrderBysOfNavigatedByType 所设置的排序字段。
代理初始化时将会依据实体类型中的导航属性定义尝试自动设置此属性,参见示例代码。

Example

代理初始化时将从导航属性实体类型定义中查找满足以下条件的第一个属性,找到的话将其名称赋给此属性:
  • 该属性是一个映射到数据表字符串类型字段的属性。
  • 该属性是非空的,即具有 RequiredAttribute 特性,或者具有 FreeSql 的 IsNullable == falseColumnAttribute 特性。
  • 若该属性具有 FreeSql 的 设置了 StringLengthColumnAttribute 特性,则 StringLength 的值必须小于等于 MultilineStringLengthBoundary
例如对于以下定义:
C#
public class User : FullAuditEntityWithAutoIdKey, ICRUDEntity
{
    [Display(Name = "所属部门 Id")]
    public long DeptId { get; set; }

    [Display(Name = "用户姓名")]
    public string Name { get; set; }

    [Display(Name = "所属部门")]
    [Navigate(nameof(DeptId))]
    public Dept Dept { get; set; }
}

public class Dept : FullAuditEntityWithAutoIdKey, ICRUDEntity
{
    [Display(Name = "部门名称")]
    public string Name { get; set; }
}
类别过滤条件属性将被初始化为 "DeptId",而此属性将被置为导航属性实体类型 Dept"Name" 属性, 即将从实体类型 Dept 对应数据表里查询数据作为数据源,下拉框选项的值将取类型 Dept 的主键值,选项的文本将取类型 Dept"Name" 属性的值。

See Also