如何将MongoDB与Xamarin.Forms PCL(共享项目)

时间:2017-08-08 08:49:59

标签: mongodb xamarin xamarin.forms nosql

我是一名新的Xamarin开发人员,我现在正致力于需要数据库来存储应用程序数据的简单应用程序。

我的需求: 简单的应用程序,MVVM设计模式,一个开发。 该应用程序需要在IOS和Android

中工作

我的解决方案结构:

  1. Xamarin.Forms PCL项目(​​包含视图,ViewModel,模型,服务)

  2. Xamarin.Droid - 默认的Xamarin Android项目。

  3. Xamarin.IOS - 默认的Xamarin IOS项目。

  4. 我想使用 NoSQL数据库。 我知道MongoDB,这是一个很好的。 但是在谷歌搜索之后,没有任何教程可以将MongoDB与Xamarin.Forms PCL项目一起使用。

    所以,我的问题:

    1. 可以将MongoDB与Xamarin.forms一起使用吗?

    2. (如果(1)的答案是"是") - 真的建议将MongoDB与Xamarin.Forms PCL项目一起使用?

    3. (如果(2)的答案是"否") - 在我的案例中,最好的NoSQL数据库选项是什么?

    4. 注意: 我已经尝试过使用这篇文章了: http://www.c-sharpcorner.com/UploadFile/093731/xamarin-with-mongodb/

      但不行。

      我正在使用: Visual Studio 2017 ,Xamarin.Forms(2.3.4.247)。

      非常感谢!

3 个答案:

答案 0 :(得分:4)

Xamarin Forms PCL与MongoDB无关。您需要一个服务来访问MongoDB或任何其他数据库。理想情况下,您可以使用RESTful服务来访问数据库

您介绍的文章介绍了如何通过Web API访问MongoDB(它是一个RESTful Web服务)。你唯一需要担心的是Xamarin,如何在pcl中调用web api。再次根据您的文章,他们使用HttpWebRequest访问web api(您可以使用不同的客户端,如httpclient,restsharp等来执行此操作)。

顺便说一下,您需要使用nuget(https://www.nuget.org/packages/MongoDB.Driver/)将Mongodb驱动程序添加到您的web api项目中。

似乎你没有正确地将驱动程序安装到web api项目。我也不知道MongoCollection是他们为保留db实例而创建的自定义模型类。

答案 1 :(得分:4)

如果您正在寻找可与Xamarin PCL配合使用的NoSQL 离线数据库,您可以使用LINQ通过模型和查询进行访问。

Realm可能就是你要找的东西:

import '../css/styles.css'

要直接使用MongoDB,您需要创建一个使用REST

发布数据的API

答案 2 :(得分:0)

您需要创建REST服务器并通过Nodejs或Asp.Net核心应用程序使用Restful服务。

  
      
  1. Asp.net:https://www.c-sharpcorner.com/UploadFile/093731/xamarin-with-mongodb/
  2.   
  3. Nodejs:https://www.npmjs.com/package/mongodb
  4.