«Работа с неопределенностью» - Entity Framework CodeOnly - PullRequest
1 голос
/ 28 мая 2010

Это немного странно, но я только что увидел в твиттере что-то, что сбило меня с толку, и мне интересно узнать больше.

Роб Конери написал пару часов назад в Твиттере следующее: Название класса дня: "Maybe<T>". Метод дня: "ToMaybe<T>()". Затем он предложил купон Tekpub любому, кто мог догадаться, откуда он взялся. Он связался с еще одним твитом, в котором была подсказка, и из этого я понял, что это был Entity Framework Code-Only, но при попытке определить использование кем-то еще, на что ответил Роб, ... EF CodeOnly - работа с неопределенностью ... .

Так что мой вопрос сводится к тому, что именно он имеет в виду с неопределенность и как это вписывается в Entity Framework Code-Only?

Ответы [ 2 ]

1 голос
/ 28 мая 2010

Maybe<T> является одной из типичных монад, см., Например, это пример из Википедии . Монады широко используются в функциональном программировании: вы определенно знаете IEnumerable<T>, что также является монадой. Сама LINQ иногда описывается как «языковые монады». Еще несколько ссылок:

Наличие Maybe<T> показывает, что качество кода Entity Framework определенно не плохое: там используется известная концепция, которая описана много раз (I подозреваю, что там нет ToMaybe<T>() - должно быть ToMaybe<T>(T value) и Nothing, так что это просто ошибка Роба).

0 голосов
/ 28 мая 2010

Это всего лишь предположение с моей стороны, но я бы предположил, что это связано с неясностями, с которыми неизменно приходится иметь дело при работе с произвольным хранилищем данных с произвольными именами таблиц, произвольными именами столбцов и произвольными запросами.

Я очень сомневаюсь, что это как-то отражается на качестве кода Entity Framework.

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