【问题标题】:How to use Entity Framework Core with SQL Server in Xamarin Forms?如何在 Xamarin Forms 中将 Entity Framework Core 与 SQL Server 一起使用?
【发布时间】:2019-06-24 11:00:07
【问题描述】:

我正在尝试在 Xamarin 表单应用程序中将 Entity Framework Core 与 SQL Server(不是 SQLite)一起使用,但我就是想不通!所有教程都解释了如何将 EF Core 与 sqlite 一起使用!有没有明确的文档或教程?

【问题讨论】:

  • 将移动应用程序直接连接到数据库服务器是一个可怕、糟糕、非常糟糕的主意。请重新考虑您的架构
  • @Jason 好的,所以我有两个问题,当我从我的 android 设备中删除应用程序并重新部署它时,我会丢失所有数据!那么我怎样才能播种sqlite db?以及如何获取 db 文件并在 sqlite 中打开它??
  • 您仍然可以将数据存储在远程服务器上。您只是不直接连接到您的数据库。使用服务层将您的数据库与您的客户端隔离。
  • @Jason 非常感谢!

标签: c# sql-server xamarin xamarin.forms entity-framework-core


【解决方案1】:

关于在 Xamarin.Forms 中连接到远程数据库,我找到了一篇文章,你可以看看:

https://xamarinhelp.com/connecting-remote-database-xamarin-forms/

您可能想知道为什么不能直接从移动应用程序连接到数据库?主要原因是:

安全

您不希望您的移动客户端应用程序包含包含用户名和密码的数据库连接字符串。它向任何人开放您的数据库。您可以创建一个具有只读权限的用户,并且只允许访问某些表,但他们仍然可以看到这些表中的所有数据。在 API 上,您可以实施额外的安全检查并基于 OAuth 或现有用户管理系统进行身份验证。

性能

数据库连接的设计初衷不是为了通过高延迟连接。您的数据库连接很可能会不断断开,迫使您每次都重新连接。

控制

使用 API,您可以控制进出数据库的数据流。您可以实施速率限制,并监控您的所有请求。如果您需要更改业务逻辑,甚至更改每个 API 请求使用的数据库或资源,您可以在服务器上执行此操作,而无需重新部署移动应用程序。

资源

使用 API,您可以减少对服务器资源的需求。虽然您可能必须设置另一台服务器来处理 API,但 REST API 被设计为无状态且高效。使用 API 可以更轻松地扩展到更多用户。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-31
    • 2018-09-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多