Будут ли провайдеры типа F # служить хорошей основой для реализации объектно-реляционного отображения? - PullRequest
4 голосов
/ 09 июля 2011

Судя по информации, которую я до сих пор читал о поставщиках типов, мне интересно, можно ли их использовать для реализации хорошего ORM для F #.

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

Это реалистичный и полезный сценарий?

Ответы [ 2 ]

1 голос
/ 07 октября 2011

Да, это интересное использование поставщиков типов.Один из примеров делает именно это, см. http://msdn.microsoft.com/en-us/library/hh361033(v=vs.110).aspx

1 голос
/ 09 июля 2011

Если я прав, то провайдеры типов будут своего рода "плагинами" для компилятора F #.Они будут включать информацию о типе, которую F # компилятор не сможет найти при компиляции кода.Таким образом, при компиляции кода F # компилятор будет запрашивать у поставщиков типов информацию о типах, которая не известна компилятору F #.Это также означает, что речь идет о статической типизации, т. Е. Типы идентифицируются во время компиляции.

Если приведенное выше понимание верно, то в случае ORM вам потребуется реализовать поставщик типов для вашей реляционнойсхема и этот поставщик типов будут использоваться компилятором F # для компиляции вашего кода для «заполнения» типов, представляющих ваши сопоставления ORM.

Если вы посмотрите на ORM, они не просто отображают реляционные данные вОбъекты, но также предоставляют различные операции, такие как запрос, обновление и т. Д. С базовыми реляционными данными.По моему мнению, в данный момент я не думаю, что провайдеры типа F # хороши для ORM, но я могу ошибаться:)

...