public static List <ITypeSymbol> FindModelTypes(IAssemblySymbol assembly) { var visitor = new ModelVisitor(); visitor.Visit(assembly); return(visitor._types); }
async Task <IEnumerable <string> > GetModelClassesAsync(DotNetProject project, CancellationToken token) { var compilation = await IdeApp.TypeSystemService.GetCompilationAsync(project, token); if (compilation != null) { var modelTypes = ModelVisitor.FindModelTypes(compilation.Assembly); var dbContextTypes = await GetDbContextClassesAsync(project, token); return(modelTypes.Select(t => t.MetadataName).Except(dbContextTypes).Distinct().OrderBy(x => x)); } return(Enumerable.Empty <string> ()); }