簡體   English   中英

在T4模板中檢索[DisplayName] DataAnnotation

[英]Retrieving [DisplayName] DataAnnotation in T4 template

我已經在VS2010中下載了MVCScaffolding nuget軟件包。 我試圖從我的模型中檢索[DisplayName數據注釋,以便在index.cs.t4模板中使用它。

本頁OneToMany Relationships向我展示了如何修改索引模板,以便提供一個鏈接,該鏈接會將我帶到我的子對象的控制器索引。 在這種情況下,從電子郵件到電子郵件收件人。 問題是我已經將我的控制器稱為emailcontroller和emailrecipientscontroller,而不是它們的描述性較低的表名,無論如何我都希望將它們隱藏起來。 我已經用這個顯示名(電子郵件收件人)數據注釋同樣地裝飾了t4模板使用的元數據對象(tbl_My_unwieldytablename_emailMetadata),我希望我可以修改模板以替換關系名稱以使用顯示名,即我的控制器名稱,即

[MetadataType(typeof(tbl_My_unwieldytablename_emailMetadata))]
public partial class tbl_My_unwieldytablename_email
{
    internal sealed class tbl_My_unwieldytablename_emailMetadata
    {
        [ScaffoldColumn(false)]
        [Required(ErrorMessage="id is required")]
    public Int32 id { get; set; }

        [DataType(DataType.Date)]
    public DateTime send_date { get; set; }

        [StringLength(255)]
    public String title { get; set; }

        [DataType(DataType.MultilineText)]
    public String message { get; set; }

        [StringLength(50)]
    public String author { get; set; }

        [StringLength(80)]
        [DataType(DataType.EmailAddress)]
    public String author_email { get; set; }

        [DataType(DataType.MultilineText)]
    public String attachment { get; set; }

        [DataType(DataType.Date)]
    public DateTime created_date { get; set; }

    public Int32 batches { get; set; }

        [DataType(DataType.Date)]
    public DateTime complete_date { get; set; }

    [DisplayName("emailrecipients")]
    public EntityCollection<tbl_My_unwieldytablename_email_recipients> tbl_My_unwieldytablename_email_recipients { get; set; }

    }

干杯蒂姆

[Table("tbl_My_unwieldytablename_email")]
Public Class Email

[Table("tbl_My_unwieldytablename_email_recipients")]
Public Class EmailRecipients

應該將您的類映射到數據庫表

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM