1

我正在寻找一种方法来将与表逻辑相关的存储过程映射为为该特定表生成的实体中的函数,而不是整体上下文中的函数。

例如,我从现有的银行数据库中生成了 edmx,我得到了一个 Context 和几个与表相对应的实体。假设我们有帐户、交易、地址等表......并且我有一个存储过程返回帐户的当前余额。我想将此存储的过程映射到 Account 实体而不是上下文。这将帮助我调用 Account.GetBalance() 而不是 Context.GetBalance()。

这在实体框架中可能吗?我在 msdn 中进行了大量搜索并阅读了几篇文章/博客,但找不到任何解决方案。

4

1 回答 1

1

不,除非您在实体中手动包装在上下文中公开的方法,否则这是不可能的 - 这将使您的实体具有持久性意识并依赖于 EF,这目前被认为与设计人员应该遵循的完全相反。

就 EF 余额而言,应该是帐户实体的属性,而检索余额应该意味着重新加载帐户或在帐户集/上下文上执行投影查询(或您的程序)。查询也是从上下文和存储过程中执行的。

于 2013-01-07T09:08:09.133 回答