首页 > 解决方案 > 如何处理服务器(C#)和客户端(JS)之间共享数据库模型?

问题描述

假设桌面应用程序与服务器通信一些数据,服务器存储它们,并且 Web 客户端可以通过 SQL 查询访问数据。

过去,MVC Web 应用程序项目和 C# WPF 项目共享 EntityFramework 模型,因此我不关心数据库的事情。

但是现在我有一个 .Net Core Web 应用程序,它的服务器端是 C#,客户端是 React+Redux,并且有一个使用 Electron+React+Redux 构建的桌面应用程序。

我想我需要为服务器端创建一组模型,并为客户端/桌面应用程序创建相应的模型,但不确定是否可以创建两组功能相同的模型。

关于如何处理这个话题有什么好的资源或评论吗?

标签: c#databasereactjs

解决方案


您必须从控制器操作方法返回 JSON 结果。如果数据库和视图的模型没有区别,您可以重用相同的模型。但最佳实践是将视图模型与实体模型分开。要执行此转换,您可以在服务器端使用自动映射器。

React 可以很容易地理解你的 JSON 结果,并可以相应地将它绑定到你的 UI。

即使您的 WPF(桌面客户端)也是如此。我还可以调用您的控制器操作并获取 JSON 结果并相应地填充 UI。

这是React 的一个简单示例。


推荐阅读