WCF 支持带有 JSON 的 REST 服务,这是为移动应用程序构建 Web 服务的最佳方法。
但是,Microsoft 已决定将 WCF REST 与 WCF 的其余部分分开,因此它现在称为 Web API。
我给你的建议是学习 Web API 并使用它。您将失去对“添加服务参考”的支持,但如果您正在构建不基于 Microsoft 技术的移动应用程序,那无论如何也不会有多大好处。
至于存储库模式 => Entity Framework 的 DbContext 本身就是工作单元(将鼠标悬停在它上面并阅读它所说的内容)。无论您将使用 Code First 还是 Database First 更多的是偏好问题,而不是真正的优化问题。两者都应该为你工作。
由于您将拥有数百万行,我强烈建议您考虑一些缓存策略。如果您的行不会经常更改,您可以使用标准缓存方法。否则,如果您的行经常更改,您可能会使用一些代理缓存服务,该服务将与数据库同时更新,但通过将数据存储在内存中进行查询时会更快地提供结果。您可以使用自己的基于 WCF 的缓存,该缓存将通过命名管道与您的 Web API 进行通信,或者采用已经构建的解决方案,例如 MemCached 或 Redis。