c# - 如何处理服务器(C#)和客户端(JS)之间共享数据库模型?
问题描述
假设桌面应用程序与服务器通信一些数据,服务器存储它们,并且 Web 客户端可以通过 SQL 查询访问数据。
过去,MVC Web 应用程序项目和 C# WPF 项目共享 EntityFramework 模型,因此我不关心数据库的事情。
但是现在我有一个 .Net Core Web 应用程序,它的服务器端是 C#,客户端是 React+Redux,并且有一个使用 Electron+React+Redux 构建的桌面应用程序。
我想我需要为服务器端创建一组模型,并为客户端/桌面应用程序创建相应的模型,但不确定是否可以创建两组功能相同的模型。
关于如何处理这个话题有什么好的资源或评论吗?
解决方案
您必须从控制器操作方法返回 JSON 结果。如果数据库和视图的模型没有区别,您可以重用相同的模型。但最佳实践是将视图模型与实体模型分开。要执行此转换,您可以在服务器端使用自动映射器。
React 可以很容易地理解你的 JSON 结果,并可以相应地将它绑定到你的 UI。
即使您的 WPF(桌面客户端)也是如此。我还可以调用您的控制器操作并获取 JSON 结果并相应地填充 UI。
推荐阅读
- excel - 有条件地在 VBA 中选择一个命名范围,然后复制到另一个工作表
- python - 在 Python 中使用 addfips 将 FIPS 代码添加到 csv
- arrays - 打印或保存 tp csv 带有 unicode 字符和额外字段的 json 文件
- c# - 回复地址与请求授权时提供的回复地址不符
- c++ - c ++:在if-else条件中定义数组在退出后会擦除
- javascript - 使用 Mongoose 将 ObjectId 作为字符串保存到 MongoDB 失败
- macos - 在 Ubuntu 的远程 ssh 会话上(本地是 Mac OS 计算机),为什么当我键入“bash”时颜色会出现?
- android - RecyclerView 为列表中的每个项目使用不同的 ItemTouchHelper
- r - 闪亮的滑块未更新
- ruby-on-rails - 如何更新我的 Ruby on Rails 生产服务器