与 C# 桌面应用程序、C# MAUI 应用程序和 SQL Server 一起使用

问题描述 投票:0回答:1

我想设计一个适用于桌面和 Android 移动设备的应用程序。 我目前的应用程序仅针对具有本地 SQL Server 数据库的桌面。

我想与 MAUI Android 应用程序共享相同的 SQL Server 数据库,并且将来我也计划将数据库保留在云服务器上。 我想知道这种情况的确切方法。

我是否应该拥有包含两个项目的单一解决方案 - 一个用于桌面,另一个用于 MAUI?

数据访问怎么样?我可以与桌面和 Android 应用程序共享数据访问类,还是必须在两个项目中单独实现它们?

文件夹结构应该是什么样的?

现在,我在 Visual Studio 中创建了一个新的解决方案,并添加了一个类库项目来处理与数据库相关的活动(连接打开/关闭、DML 语句处理等)。

另一个项目用于同一解决方案中的桌面应用程序,它将访问该类库项目以获取数据相关服务。

到目前为止,一切正常。

现在我想添加到此解决方案中的 MAUI 应用程序怎么样?我应该如何实施MVVM?如何避免重复代码?

这里的另一点是,我需要为桌面和移动设计两个单独的 UI,因为我在 Android 的 MAUI 应用程序中使用 DevExpress 控件,它不支持桌面应用程序。

c# sql-server mvvm maui
1个回答
0
投票

如果您想支持桌面并且您正处于项目的开始阶段,您可以使用另一个 UI 库,例如 Syncfusion,它提供对桌面应用程序的支持。

关于您的项目,您可以控制页面导航到桌面等效页面,如果您想保持 UI 不同,可以选择保持两个 UI 文件夹或两个项目分开的方法。我更喜欢将 UI 保留在单个项目中,仅分隔文件夹并通过导航类控制它们,您可以使用 MVVM 并使用库 community for MVVM 开始您的文件夹组织。

|-project
|--ViewModels
|--Views
|----Desktop
|----Mobile

但是,MAUI 支持您使用 OnPlatform

为两个 UI 的句柄保留单个 XAML
|-project
|--ViewModels
|--Views

关于数据库,您可以使用 WebAPI 来集成移动应用程序和桌面应用程序。请记住,如果您将应用程序 android 直接连接到数据库,如果您无法完全控制应用程序将使用的网络,则可能会导致安全问题。这就是为什么我推荐一个 API。

© www.soinside.com 2019 - 2024. All rights reserved.