【问题标题】:Expose EF project to WCF service将 EF 项目公开给 WCF 服务
【发布时间】:2012-11-05 09:06:42
【问题描述】:

我使用 EF5(我们称之为 EF5)制作了一个复杂的解决方案,这个解决方案工作得非常好,并且有一个 Logic.cs 文件,位于 app_code,它具有访问、控制和修改这个解决方案的多个功能,所以非常好。

我希望我的企业客户能够访问这些功能,并且我想通过使用 WCF 来公开这些功能。

我做的步骤如下。

  1. 将 WCF 项目添加到 EF5 项目所在的解决方案中。
  2. 为我想向客户公开的每个功能编写“OperationContract”。
  3. 尝试通过调用 EF5 函数来实现每个函数。

问题在于实现,VS 无法识别 logic.cs 文件,因此我无法调用函数并将我的 EF5 项目公开给我的客户。

我是 WCF 的新手,显然我在这里做错了。

我的问题是,如何向 WCF 公开 .cs 类中的 EF5 项目功能?

我认为我犯的主要错误是我没有制作 WCF 项目并在其中添加了 EF5 项,但我并不完全确定。

以下是显示我将 EF5 引用添加到 WCF 项目的步骤的屏幕截图。

谢谢

【问题讨论】:

  • 您是否添加了对 EF5 代码所在的程序集的引用?
  • 我相信这正是我所苦苦挣扎的,每次我寻找参考以添加它时只建议 EntityFrameWork.dll,这不是我一直在寻找的,是否有如何添加对 EF 项目的引用的指南?

标签: c# wcf visual-studio entity-framework-5


【解决方案1】:

您需要从 WCF 项目中添加对 EF5 项目的引用。

您还需要确保在 Logic.cs 中调用的所有函数都是公开的。

还要确保您正在“使用”声明这些函数的命名空间。

【讨论】:

  • 您能否链接或演示一个指南,解释如何将 EF 项目的引用添加到 WCF 项目?每次VS只显示EntityFrameWork.dll。
  • 在 VS 中,右键单击 WCF 项目中的引用,“添加引用”。在左侧,确保选择解决方案/项目。在那里您应该会看到列出了您的 EF5 项目。
  • 是的,我正在尝试做,但我没有看到任何可用的项目,是否有任何向导或指南可以逐步解释它?
  • 我明白了!现在说得通了。您的 EF5 项目看起来像一个网站。这种项目在发布之前不会生成 DLL。要么发布站点,然后引用生成的 App_Code.dll,要么考虑更改 EF5 项目类型。
  • 在同一个解决方案中创建一个全新的类库项目。将 app_code 文件夹的内容复制到其中,在 VS 中拖动即可。确保它可以构建,然后删除旧的 Web 项目。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-08-23
  • 1970-01-01
  • 2012-01-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多