2016-02-12 33 views
1

我一直在检查很多与Web Api相关的示例,它们都在Web Api项目中包含的Models文件夹中创建模型,但我很好奇这是如何实现的如果您想要在各种项目中使用/重复使用这些模型,应该进行处理。使用Web API时创建模型的位置

在过去,使用WCF REST的时候,我就已经创建了以下内容:

  1. 商务示范项目(PCL)
  2. 业务层项目
  3. 数据层项目
  4. SQL数据层项目
  5. WCF REST项目
  6. Web App
  7. Windows应用程序
  8. 第三方Web应用程序(JavaScript的)
  9. 移动应用(Xamarin)

项目2-9将都被引用到项目1项或对象将使用JavaScript动态时创建的。业务对象项目仅包含POCO对象,大部分都使用DataContract/DataMember属性进行装饰。

使用Web Api时可以应用相同的逻辑/项目分解吗?是否建议或将在稍后阶段面对问题?

如果不推荐,我想复制我的所有模型?似乎没有道理,所以我想我会问。

谢谢。

回答

1

简短回答,是的。使用Web Api时可以应用相同的逻辑/项目细分。这也是我实现我的架构的方式。您的Web Api将只是您架构中的另一个层。通过这样做,您可以提高模型的重复使用性(DRY)和可维护性。

+0

非常感谢您的更新。还有一个问题,我想用EF作为我的数据层,尽管现在我会保持尽可能简单,但很多字段都会用各种EF属性进行修饰。如果将其保存在单独的库中,应如何处理?只需引用DataAnnotation并完成它?怎么样通过NewtonSoft JSON格式?我创建了一个需要这些NewtonSoft的示例,并且我能够返回xml或json,这显然是理想的场景,但是如果...是否也是Newtonsoft引用Business Objects库的一个例子?谢谢。 – Thierry

+0

您是将您的poco商业模型传递给EF(代码优先)还是将它们映射到EF模型? – Nkosi

+0

我还没有开始。我在收集信息之前先跳入。如果我的POCO业务对象将在单独的库中,那么应该采取什么适当的措施。将它们传递给EF还是应该将它们映射到EF模型?谢谢 – Thierry

相关问题