T4Scaffolding доступ к универсальной коллекции T свойства
Учитывая следующий класс:
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.
Как получить доступ к свойствам объекта "Tag"?
У меня есть "Теги" ICollection как EnvDTE.CodeTypeRef.
Я заметил, что большая часть mvcscaffolding использует Get-RelatedEntities для развертывания обобщения - это единственный способ получить доступ к свойствам Tag?
1 ответ
Посмотрите на первую часть этого видео. Он покажет вам, как собирать свойства из классов в Visual Studio.
РЕДАКТИРОВАТЬ:
Если у вас нет времени для просмотра видео... Просто используйте этот фрагмент в консоли диспетчера пакетов.
(Get-ProjectType Tag). Дети | Where-Object {$ .Kind -eq 4} | ForEach {$ }
Я думаю, что легче найти все свойства с powershell и затем отправить их в T4, это сложная работа, чтобы использовать C# в T4 для сбора информации.
С уважением Уффе