这有点奇怪,但我刚刚在推特上看到了一些令我困惑的事情,我很想知道更多。
几小时前 Rob Conery发布了以下内容:当天的班级名称:“Maybe<T>
”。当天的方法:“ToMaybe<T>()
”。然后,他继续向任何可以猜测它来自哪里的人提供Tekpub优惠券。他链接到另一条有线索的推文,并且我发现它只是实体框架代码,但在尝试确定其他人回答的用法时,Rob回复了 ... EF CodeOnly - 处理不确定性... 的。
所以我的问题归结为他所指的不确定性到底是什么?它如何适用于Entity Framework Code-Only?
答案 0 :(得分:1)
Maybe<T>
是典型的monad之一,例如this Wikipedia example。 Monads广泛用于函数式编程:你肯定知道IEnumerable<T>
,它也是monad。 LINQ itelf有时被描述为“语言集成monad”。几个链接:
Maybe<T>
的存在表明实体框架的代码质量绝对不错:他们在那里使用了众所周知的概念,described many many times(我怀疑那里)那里没有ToMaybe<T>()
- 必须有ToMaybe<T>(T value)
和Nothing
,所以这只是Rob的错误。)
答案 1 :(得分:0)
这仅仅是我的推测,但我猜它与处理具有任意表名,任意列名和任意查询的任意数据存储时必须处理的含糊不清有关。 / p>
我非常怀疑它以任何方式反映了实体框架的代码质量。