You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Drill Down应用Audit-Finding模型的LINQ Any()方法技术咨询

下钻(Drill Down)应用实体类与LINQ Any()实现咨询

我开发了一个典型的下钻(Drill Down)应用,数据层级结构很清晰:一个Audit(审计)对应多个Finding(发现)。下面是这个应用的实体类代码:

Audit 实体类

public class Audit {
    private string _auditAcnCd;
    private string _title;
    private string _summary;
    [Key]
    [Column("audit_id")]
    public int AuditID { get; set; }
    [Required(ErrorMessage = "ACN Required")]
    [Display(Name="ACN:")]
    [Column("audit_acn_cd")]
    public string AuditAcnCd { get { return _auditAcnCd; } set { _auditAcnCd = value?.Trim(); } }
    [Required(ErrorMessage = "Title Required")]
    [Display(Name = "Title:")]
    [Column("audit_report_title_tx")]
    public string Title { get { return _title; } set { _title = value?.Trim(); } }
    [Required(ErrorMessage = "Issuer Required")]
    [Display(Name="Issuer:")]
    [Column("audit_issuer_tx")]
    public string Issuer { get; set; }
    [Display(Name = "Sensitive Designation")]
    [Column("audit_sensitive_cd")]
    public string AuditSensitiveCode { get; set; }
    [Display(Name = "Alternative Product")]
    [Column("audit_alternate_product_cd")]
    public string AuditAlternateProductCode { get; set; }
    [RegularExpression("([1-9][0-9]*)", ErrorMessage = "Priority must be a number.")]
    [Display(Name = "Priority:")]
    [Column("audit_priority_cd")]
    public short? Priority { get; set; }
    [StringLength(maximumLength: 1000,ErrorMessage = "Max Length: 1000")]
    [Display(Name = "Summary:")]
    [Column("audit_summary_tx")]
    public string Summary { get { return _summary; } set { _summary = value?.Trim(); } }
    [Column("audit_gao_contact_tx")]
    [Display(Name = "GAO Contact:")]
    [StringLength(maximumLength: 200, ErrorMessage = "Max Length: 200")]
    public string AuditGaoContactText { get; set; }
    [Column("audit_gao_job_cd")]
    [Display(Name = "GAO Job Code:")]
    [StringLength(maximumLength: 200, ErrorMessage = "Max Length: 30")]
    public string AuditGaoJobCode { get; set; }
    [Display(Name = "Lead Office:")]
    [Column("audit_lead_office_id")]
    public short? LeadOfficeID { get; set; }
    #region Navigation Properties
    [Required(ErrorMessage = "Audit Type Required.")]
    [Display(Name = "Audit Type:")]
    [Column("audit_audit_type_id")]
    public short AuditTypeID { get; set; }
    [Display(Name = "Audit Type:")]
    public AuditType AuditType { get; set; }
    [Column("audit_status_id")]
    public int StatusID { get; set; }
    public Status Status { get; set; }
    [Required(ErrorMessage = "Office is Required.")]
    [Display(Name = "Offices:")]
    [Column("audit_office_id")]
    public short? OfficeID { get; set; }
    public Office Office { get; set; }
    [ForeignKey("AuditID")]
    public External External { get; set; }
    public IEnumerable<AuditLog> AuditLogs { get; set; }
    public IEnumerable<Finding> Findings { get; set; }
    public IEnumerable<Assignment> Assignments { get; set; }
    [Column("audit_update_staff_id")]
    public short UpdateStaffID { get; set; }
    [Column("audit_oig_manager_id")]
    [Display(Name = "OIG Audit Manager:")]
    public short? OigAuditManagerId { get; set; }
    [Display(Name = "OIG Audit Manager:")]
    [ForeignKey("OigAuditManagerId")]
    public Staff OigAuditManager { get; set; }
    [Column("audit_fsa_office_id")]
    [Display(Name = "FSA Audit Lead:")]
    public int? FsaLeadOfficeId { get; set; }
    [Display(Name = "FSA Audit Lead:")]
    [ForeignKey("FsaLeadOfficeId")]
    public FSAOffice FsaLeadOffice { get; set; }
    [ForeignKey("LeadOfficeID")]
    public Office LeadOffice { get; set; }
    #endregion
}

Finding 实体类

[Table("finding")]
public class Finding {
    private string _findingText;
    [Key]
    [Column("finding_id")]
    public int FindingId { get; set; }
    [Column("finding_audit_id")]
    public int FindingAuditId { get; set; }
    [Column("finding_cd")]
    [Display(Name = "Finding #")]
    [StringLength(15)]
    public string FindingCd { get; set; }
    [Column("finding_tx")]
    [Required(ErrorMessage = "Description Required")]
    [StringLength(7000)]
    public string FindingText { get { return _findingText; } set { _findingText = value?.Trim(); } }
    [Column("finding_page_cd")]
    [StringLength(100)]
    public string FindingPageCd { get; set; }
    [Column("finding_joint_cd")]
    public string FindingJointCd { get; set; }
    [Column("finding_compliance_tx")]
    [StringLength(20)]
    public string FindingComplianceText { get; set; }
    [Column("finding_prior_year_cd")]
    [Display(Name = "Repeat Finding")]
    public string FindingPriorYearCd { get; set; }
    [Column("finding_decision_cd")]
    public string FindingDecisionCd { get; set; }
    [Column("finding_request_decision_cd")]
    public string FindingRequestDecisionCd { get; set; }
    [Column("finding_decision_ogc_concur_cd")]
    public string FindingDecisionOgcConcurCd { get; set; }
    [Column("finding_pdl_id")]
    public int? FindingPdlId { get; set; }
    [Display(Name = "Significant")]
    [Column("finding_significant_cd")]
    public string FindingSignificantCd { get; set; }
    [Column("finding_on_stay_cd")]
    public string FindingOnStayCd { get; set; }
    [Column("finding_stay_request_cd")]
    public string FindingStayRequestCd { get; set; }
    [Column("finding_last_update_dt")]
    public DateTime FindingLastUpdateDate { get; set; }
    [Column("finding_update_staff_id")]
    public short? FindingUpdateStaffId { get; set; }
    [Column("finding_cd_org")]
    public...

现在我想请教一下,基于这个实体模型,如何使用LINQ的Any()方法来实现相关的业务逻辑?


内容的提问来源于stack exchange,提问作者Sam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 08:25:53