Получить словарь (или ключ-значение или пара) столбцов и таблиц, используемых в запросе SQL - PullRequest
0 голосов
/ 07 мая 2018

Я ищу способ получить запрос SQL, передать его методу и получить словарь для всех столбцов и связанных с ними таблиц. Мне удалось получить список таблиц из запроса на основе этого: Список таблиц, используемых в запросе SQL

Например, следующий запрос:

SELECT P.FirstName, P.LastName, P.BirthDate, P.DeathDate, VP.FullName 
FROM Presidents P
INNER JOIN VicePresidents VP ON P.VicePresidentID = VP.VicePresidentID

В идеале, он будет возвращать элемент словаря (или пары ключей или чего-либо еще) со следующим:

{FirstName, Presidents},
{LastName, Presidents},
{BirthDate, Presidents},
{DeathDate, Presidents},
{Fullname, VicePresidents}

В идеале это не должно касаться SQL вообще (если это возможно). Идентификаторы (P, VP) не всегда могут быть там. Мой метод, который возвращает таблицы, возвращает президентов и вице-президентов, но мне действительно нужны отношения столбец / таблица Есть мысли?

Я создаю элемент управления MVC, который передает объект из модели, и он автоматически создает всю форму на основе модели. Объект из модели совпадает с SQL-запросом, использованным для его заполнения. У меня есть параметры для поиска и многих типов ввода. Единственное, что я не могу сделать автоматически - это имя таблицы для столбца.

У меня есть этот запрос:

SELECT
    AppSettingsTypeID,
    AppSettingsTypeName
FROM MasterImport.DBAppSettingsType
WHERE AppSettingsTypeID = 13

Это создает экземпляр этого класса

public class DBAppSettingFull
    {
        [FormField("App Setting Type", InputType.Dropdown, new int[] { 12, 12, 6, 6, 4 })]
        public int AppSettingsTypeID { get; set; }

        [FormField("App Setting Name", InputType.Textbox, new int[] { 12, 12, 6, 6, 4 })]
        public string AppSettingsTypeName { get; set; }
    }

С этой строкой кода

model.Record = Interaction.Single<DBAppSettingFull>(sqlGeneric.GetFirstDBAppSetting.Resource());

Что используется в cshtml с этой строкой кода

@(Html.GenerateForm<Cold.Framework.Classes.DBAppSettingFull>(Model.Record))

и создает форму на странице cshtml. Я нахожусь в процессе написания моего метода ProcessForm. Моя последняя версия этого, я должен был сделать вручную, чтобы дать каждому свойству / столбцу свою табличную связь. Я хотел бы сделать это автоматически.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...