Как программно добавить типизированный набор данных в проект Visual Studio и сохранить поддержку дизайна

После создания Typed DataSet для заданного набора таблиц базы данных (используя System.Data.Design.TypedDataSetGenerator).

Я могу прикрепить сгенерированный файл С# с помощью

// VsProj имеет тип VsLangProj.VSProject для текущего проекта

// ArtifactPath — это путь к только что созданному C#-артефакту с

// сгенерирован типизированный набор данных

// код.

VsProj.Project.ProjectItems.AddFromFile (путь артефакта);

Однако при попытке открыть это в дизайнере это не удается (конечно, отсутствуют файлы .xsd, .xsc, .xss). Есть ли задокументированный способ получения файлов .xsc/.xss?


person Fernando Gonzalez Sanchez    schedule 16.06.2014    source источник


Ответы (1)


Хорошо, я нашел это, вместо того, чтобы использовать System.Data.Design.TypedDataSetGenerator, просто установите некоторые волшебные свойства для ProjectItem и вуаля:

// xsdPath — это путь к файлу .xsd, созданному с помощью System.Data.DataSet.WriteXmlSchema.

ProjectItem pi = _vsProj.Project.ProjectItems.AddFromFile (xsdPath);

// это маленькое волшебство заменяет использование System.Data.Design.TypedDataSetGenerator pi.Properties.Item(SubType).Value = Designer;

pi.Properties.Item(CustomTool).Value = MSDataSetGenerator;

(Конечно, если вы были вне Visual Studio, то лучше предыдущий способ).

person Fernando Gonzalez Sanchez    schedule 17.06.2014