【问题标题】:Linq2db scaffolding and association namingLinq2db 脚手架和关联命名
【发布时间】:2018-11-13 10:29:36
【问题描述】:

我已尝试使用here 所述的 t4 文件构建现有数据库

现在我发现我的关系命名非常难看,考虑一下这种情况

/// <summary>
    /// FK_XX_CONVENZIONI_XX_COMPAGNIE_BackReference
    /// </summary>
    [Association(ThisKey="IdCompagnia", OtherKey="IdCompagnia", CanBeNull=true, Relationship=Relationship.OneToMany, IsBackReference=true)]
    public IEnumerable<BenefitConvenzioni> XXCONVENZIONIXXCOMPAGNIEs { get; set; }

我已经按照建议尝试了

 GetSchemaOptions.GetAssociationMemberName = key => "Association_" + key.MemberName; 

但它不会改变行为......有什么建议吗?

【问题讨论】:

    标签: c# linq2db


    【解决方案1】:

    你必须把这段代码放在之前 LoadMetadata

    GetSchemaOptions.GetAssociationMemberName = key => "Association_" + key.MemberName; 
    
    // other tweaks
    
    LoadMetadata(....)
    

    文档Configuring generation process中也提到过

    【讨论】:

    • 好的,但有没有办法让我将引用保留为 FK_XX_CONVENZIONI_XX_COMPAGNIE_BackReference 而不是 XXCONVENZIONIXXCOMPAGNIEs
    • 目前没有办法为此设置选项,但您可以覆盖函数ConvertToCompilable:ConvertToCompilable = (name, removeUnderscores) =&gt; ConvertToCompilableDefault(name, name.StartsWith("FK_") ? false : removeUnderscores);
    猜你喜欢
    • 2011-03-21
    • 2012-06-03
    • 1970-01-01
    • 2016-04-06
    • 2015-09-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-24
    • 1970-01-01
    相关资源
    最近更新 更多