【问题标题】:"Dealing with uncertainty" - Entity Framework CodeOnly“处理不确定性” - 实体框架 CodeOnly
【发布时间】:2010-05-27 21:16:51
【问题描述】:

这有点奇怪,但我刚刚在推特上看到了一些让我感到困惑的东西,我很想知道更多。

Rob Conery 几个小时前发布了以下推文:当天的班级名称:“Maybe<T>”。当天的方法:“ToMaybe<T>()”。 然后,他继续向任何能猜到它来自哪里的人提供 Tekpub 优惠券。他链接到另一条推文,该推文有一条线索,据此我发现它是仅实体框架代码,但在尝试确定其他人回答 Rob 回答的用法时 ...EF CodeOnly - 处理不确定性...

所以我的问题归结为他在 不确定性 中究竟指的是什么以及这如何适合实体框架代码?

【问题讨论】:

    标签: orm entity-framework-4 code-first uncertainty


    【解决方案1】:

    Maybe<T> 是典型的单子之一,参见例如this Wikipedia example。 Monad 在函数式编程中被广泛使用:你肯定知道IEnumerable<T>,它也是 monad。 LINQ itelf 有时被描述为“语言集成单子”。更多链接:

    Maybe<T> 的存在表明 Entity Framework 的代码质量绝对不错: 他们在那里使用众所周知的概念,即 described many many times(我怀疑没有 @987654328 @ 那里 - 必须有ToMaybe<T>(T value)Nothing,所以这只是 Rob 的错误)。

    【讨论】:

      【解决方案2】:

      这只是我的猜测,但我猜这与人们在处理具有任意表名、任意列名和任意查询的任意数据存储时总是必须处理的歧义有关。

      我非常怀疑它以任何方式反映了实体框架的代码质量。

      【讨论】:

      • 您好罗伯特,感谢您的回答。我不是(意思是:) 暗示关于 EF 的代码质量的任何事情。事实上,过去几周我一直在最新的 EF4 CTP 中使用 Code-Only,我真的很喜欢它。这只是我感兴趣的概念,您能否详细说明您的推测性答案?
      • 好吧,考虑一下。他们试图针对未知的未知...未知编写泛型代码。难怪它们的某些标识符在语言上相当于黑匣子。
      • 唯一的方法是获取 EF 4.0,使用 Reflector 对其进行反汇编,然后查看源代码。我还没有开始安装 .NET Framework 4.0,抱歉!
      猜你喜欢
      • 2011-04-13
      • 2017-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-11
      • 2013-03-07
      • 1970-01-01
      相关资源
      最近更新 更多