【问题标题】:Monotouch Sqlite-net or ADO.NetMonotouch Sqlite-net 或 ADO.Net
【发布时间】:2014-06-14 22:56:13
【问题描述】:

我想在我的 Monotouch 应用程序中使用 Sqlite 数据库。从http://docs.xamarin.com/recipes/ios/data/sqlite 我看到两个选项。

  1. Sqlite 网
  2. ADO.NET

做研究我发现Sqlite-net 易于使用,适用于ios 和android 但不支持外键概念。我需要在我的数据库中建立关系。学生表链接到班级、教授、作业表。没那么复杂!!! Sqlite-net 支持这种关系吗?选择 Sqlite-net 或 ADO.Net 哪个更好。 赞赏... 谢谢

【问题讨论】:

    标签: sqlite ado.net xamarin.ios sqlite-net


    【解决方案1】:

    ADO.Net 也没有为您提供开箱即用的关系支持。它只给你像SQLCommandSQLDataReader这样的原始类。

    我强烈推荐 sqlite-net,因为它是一个 ORM 的巨大时间。

    您可以通过在 sqlite-net 中调用手动 SQL 语句来设置外键,这与您在 ADO.Net 中所做的相同。

    因此,使用 sqlite-net,您可以通过多种方式设置数据库:

    1. 调用 sqlite-net 的 API 以基于 C# 类创建表,然后添加它不支持手动 SQL 的内容,例如外键和索引
    2. 在您的应用中包含一个已设置完整架构的空数据库
    3. 使用原始 SQL 脚本创建整个数据库

    如果我想完全控制数据库架构,我倾向于使用选项 #2(包含我在 SQLite Expert 中创建的数据库文件会更容易一些)。 sqlite-net 应该可以很好地与现有数据库一起使用。

    【讨论】:

    • 除非您对 SQL 和架构一无所知,否则我也会对 (1) 保持警惕,因为开发人员使用这种方法并且不知道/不了解什么架构导致我遇到了无穷无尽的问题这已经变成了。另外,知道当您需要更新架构时会发生什么,例如向表中添加新字段吗?如果您向类添加一个字段,旧数据会发生什么情况,因为它可能是一个应用程序版本更新?
    • 是的,我通常选择#2,然后不得不推出我自己的迁移计划来更改架构。 SQLiteExpert 是提前创建数据库的好工具。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-12-30
    • 2013-01-23
    • 1970-01-01
    • 2012-08-04
    • 1970-01-01
    • 2012-12-18
    • 2017-05-17
    相关资源
    最近更新 更多