【问题标题】:VS 2013 Web API Add Controller Dialogs - How to add Model and Context from Referenced Library?VS 2013 Web API 添加控制器对话框 - 如何从引用的库中添加模型和上下文?
【发布时间】:2014-01-25 10:48:34
【问题描述】:

在 Web API 项目中添加控制器效果很好 - 仅当您的模型和 EF 数据上下文与项目本身位于同一程序集中 - 即位于项目的 Models 文件夹中。

我在一个单独的库项目中创建了所有 POCO 和 EF 数据上下文,创建了库,并从 Web API 项目中引用了它。不幸的是,对话框只能看到 .cs 文件驻留在项目中的模型和数据上下文。

我看过类似的问题,不知何故,其他人的添加控制器对话框从外部(引用)库中列出了他们的模型和数据上下文(然后他们有一个不同的问题,我的问题还没有解决) .

是否需要指定这样的设置(在 IDE 或 web.config 中),以便这些添加控制器对话框可以看到我的库的类?

【问题讨论】:

    标签: visual-studio entity-framework dll poco datacontext


    【解决方案1】:

    到目前为止,我想出了一个“肮脏”的解决方法,虽然它有效,但我不是很满意:

    1. 在 /Models 下创建一个具有任意属性的虚拟类 - 但其中一个必须是 int Id。
    2. 浏览添加控制器对话框并选择虚拟模型。
    3. 如果您尚未创建数据上下文,请单击新建数据上下文。请注意,该对话框将自动生成数据上下文的完整命名空间路径,并且上下文名称包含一个空格。去掉它。点击添加。
    4. 打开自动生成的控制器 .cs 文件。
    5. 在包含模型和上下文的 .cs 文件中引用您的库。
    6. 查找并用您需要的实际模型的类名替换虚拟类的所有实例。小心复数。先用字符串替换复数,然后再替换单数。
    7. 将虚拟上下文类更改为正确的数据上下文类。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-01-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多