0

次のクラスがあるとします。

public class Post
{
    public Post()
    {
        Tags = new List<Tag>();
    }

    public int Id { get; set; }

    // ...more properties...

    public virtual ICollection<Tag> Tags { get; set; }
}

と私のps1エントリコード:

$model = Get-ProjectType $EntityName -Project $Project

Add-ProjectItemViaTemplate $controllerName -Template ControllerTemplate `
    -Model @{ Namespace = $namespace; T = [MarshalByRefObject]$model; } `
    -SuccessMessage "Added ControllerTemplate output at {0}" `
    -TemplateFolders $TemplateFolders -Project $Project -CodeLanguage $CodeLanguage -Force:$Force

ここで、$modelはPostクラスです。

「タグ」オブジェクトのプロパティにアクセスするにはどうすればよいですか?

EnvDTE.CodeTypeRefとして「タグ」ICollectionがあります。

ほとんどのmv​​cscaffoldingがGet-RelatedEntitiesを使用してジェネリックスをアンラップしていることに気付きました-これがTagプロパティにアクセスする唯一の方法ですか?

4

1 に答える 1

1

このビデオの最初の部分を見てください。VisualStudioのクラスからプロパティを収集する方法を示します。

編集:

ビデオを見る時間がない場合は...パッケージマネージャーコンソールでこのスニペットを使用してください。

(Get-ProjectType Tag).Children | Where-Object {$ .Kind -eq 4} | ForEach {$ }

PowerShellを使用してすべてのプロパティを検索し、それをT4に送信する方が簡単だと思います。情報を収集するために、T4でC#を使用するのは大変な作業です。

VisualStudioでのT4Scaffolding

よろしくUffe

于 2013-03-09T11:12:09.943 に答える