【问题标题】:Using existing database for Mobile App?使用现有的移动应用数据库?
【发布时间】:2016-07-03 15:26:24
【问题描述】:

现在,我的 ASP.NET MVC 站点使用应用服务托管在 Azure 上。 然而,我可以向我的用户发送推送通知至关重要,因此我想我会开发一个移动应用程序(Android 和 iPhone)。

我创建了一个测试项目,看到示例模型如下所示:

public class TodoItem : EntityData
{
    public string Text { get; set; }

    public bool Complete { get; set; }
}

它继承自 EntityData,它具有 Id 和 Deleted 等属性。

我当前项目的数据库模型不继承自 EntityData。

是否仍然可以在移动应用程序中使用我当前的模型(和当前的 dbcontext)(来自我的网络应用程序),即使这些模型不是从 EntityData 继承的?

【问题讨论】:

  • 因为有些属性(可能)不在您的数据库中,您必须注入不同的配置来忽略这些属性。
  • @DevilSuichiro “注入不同的配置” - 你在这里指的是什么?
  • 您说的是服务器端数据库,还是托管在客户端移动设备上的数据库?
  • 您可以根据某些标志以不同的方式配置您的上下文,或者根据这一点简单地使用其他 DbSet 并删除增强实体的列。

标签: asp.net-mvc entity-framework azure xamarin azure-mobile-services


【解决方案1】:

如果您有选择,那么 Xamarin 是客户端的绝佳选择 - 您可以为客户端和服务器上的模型使用几乎相同的代码 - 事实上,很多人创建“EntityData”抽象库具有正确字段(Id、UpdatedAt 和 Version)的类,以支持增量同步和乐观并发。对于 Android 或 iOS 原生应用,您需要以同样的方式在客户端调整模型。

有关 Xamarin 方面的示例,请参阅此项目:https://github.com/adrianhall/30-days-of-zumo-v2/tree/master/file-upload - 这包含适用于 Android 和 iOS 的后端和 Xamarin 客户端。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-09-18
    • 1970-01-01
    • 1970-01-01
    • 2012-04-27
    • 1970-01-01
    • 1970-01-01
    • 2018-09-27
    相关资源
    最近更新 更多