2017-01-10 5 views
1

Мне интересно, можно ли создать XmlProvider из данных, предоставленных SqlDataProvider.Поставщики цепочки типов

Наивно было бы что-то вроде этого:

type sql = SqlDataProvider<...> 

let xml = 
    query { 
     for item in sql.GetDataContext().Main.Items do 
     select item.XmlData 
     head 
    } 

type xmlType = XmlProvider<xml> 

Конечно это не удается, потому что XML не является буквальным.

Мне любопытно, если это возможно.

ответ

1

Короткий ответ: Да.

А потом сослагательное наклонение и Буц:

Учитывая, что возвращаемый XML структурировано (например: о равном каждый раз), то предоставляя пример, который является буквальным будет нормально.

Затем данные из базы данных может быть проанализирован как:

let someXmlDataNowType = xmlType.Parse(xml) 

Это, вероятно, не то, что вы хотите или спросил об этом, но затем снова короткий ответ: Нет ;-)

Если у вас много запросов с разными XML-документами, я бы хотел написать код для генерации разных XML в некоторых файлах и даже, возможно, написать f # автоматически ...

+0

И да, и нет? Вы эльф? Я мог бы извлечь образец XML из одной из записей базы данных загодя, поэтому я могу создать поставщика XML из файла, но, учитывая, что он находится в базе данных, я думал, что может быть отказано в объединении двух –

Смежные вопросы