2

以下案例的设计考虑因素是什么?

假设您有报价。

报价与特定合约有关。

我可以通过以下方式定义我的类

Contract =
  someproperty  : int

Quote:
  contract : Contract

然而,当我导航时,即使它在我的模型中存在,我也希望能够做到

myContract.quotes

通常,这些属性是在使用实体框架或其他一些 ORM 时生成的。

但是将定义导航分开的问题完全普遍存在,即使在使用纯内存类时也是如此。

(我想可以从定义中指定的链接子集中生成导航图的传递闭包)

我的问题是:在 FSharp 中自动继承这些导航属性的可行方法是什么?我只是一个用户,而不是框架开发人员,这是非常低级的东西。

[显然你可以推广到更复杂的类层次结构可以是

  • 报价来自经纪人,具有买入或卖出性质,具有水平,并且对特定合约有效。
  • 合同可以有一定的期限,比如 2013 年,并且指的是特定的公司。
  • 公司有股票行情等,等等……]
4

2 回答 2

2

也许我误解了;但是您不能使用扩展方法来添加以这种方式导航的能力吗?您仍然需要调用一个函数来获取特定合同的报价,但是助手会存在,它可以调用您的数据提供者以获取该联系人的过滤报价列表?

于 2013-11-03T13:17:31.987 回答
1

嗯,有趣的问题。

根据这篇文,您可以使用实体框架以非数据库支持的方式执行此操作。你必须自己处理持久性。

或者您可以尝试用一个通用的 F# 解决方案自己花一个周末来解决这个问题,但我会说 EF 在这里足够好?

于 2012-03-02T16:34:28.727 回答