【问题标题】:How to Connect Xamarin.forms PCL with SQL Server directly?如何将 Xamarin.forms PCL 与 SQL Server 直接连接?
【发布时间】:2018-04-10 01:16:21
【问题描述】:

我想知道如何将 Xamarin.Forms PCL 与 SQL Server 直接连接。我知道直接访问数据库不会受到保护。但这在我的情况下不是问题。我需要直接从 Xamarin.Forms 访问数据库。我正在使用 Visual Studio 2017。我使用 Xamarin.Forms PCL 开发了一个应用程序。

【问题讨论】:

  • 您需要使用 Web API(或其他中介)将数据从数据库传输到您的应用程序。
  • 有什么直接的方法吗??不使用 Web API。
  • 您可以使用数据库的连接字符串直接连接到您的数据库,但强烈建议不要这样做,因为它会增加数据库损坏的可能性。例如,如果手机向数据库发送Insert 指令,但在发送指令的中途,移动设备会失去其互联网连接(例如通过隧道或进入蜂窝死区),Insert指令未正确完成,现在您的数据库已损坏....
  • .... 而是使用 API!使用数据库的连接字符串将 API 连接到您的数据库。使用API​​,我们的移动设备向API发送Insert请求,API向数据库发送Insert指令。现在,如果我们的移动设备在向 API 发送请求后失去了互联网连接,API 仍然会成功执行 Insert 命令,避免任何数据库损坏。
  • 这是我创建的示例应用程序,展示了如何使用 Xamarin.Forms + Azure 创建 API 并将其连接到 SQL 数据库:github.com/brminnick/XamList

标签: sql-server xamarin xamarin.forms


【解决方案1】:

在回答您的问题时,请使用Entity Framework Core 和一个连接字符串,直接连接到您的数据库。这将使您能够直接连接到它。

现在,我将用剩下的答案,为什么你不应该这样做

  • 您正在向一个远程的、未知的、完全陌生的人提供对您的数据库的完全、直接的访问权限。即使它在一个独立的网络中,拥有完全受信任的用户,而不是在应用商店中,您仍然会打开您的数据库以应对潜在的安全漏洞。
  • 可能是通过不可靠的移动连接或 wifi。它会失败并退出很多次。
  • 它会非常慢
  • 如果您想稍后移动或更新该 SQL 服务器,您将在为您的应用程序发送更新时破坏每个客户端。
  • 您将无法在两者之间轻松添加任何逻辑以提高性能或根据需要添加业务逻辑。
  • 如上所述,数据库损坏是另一个重要且可能发生的情况。

你需要做什么。

  • 创建一个 Web API。使用带有 dotnetcore 的 WebAPI 轻松设置一个
  • API 连接数据库,移动客户端连接 API。
  • 向您的 API 添加身份验证。

我会在Connecting to a remote database 此处详细介绍。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-07-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-29
  • 2016-02-20
相关资源
最近更新 更多