Xamarin.Forms SQLite WinPhone

时间:2015-02-13 13:19:00

标签: android sqlite windows-phone-8 xamarin

我正在使用可在Android和Windows Phone 8上运行的Xamarin开发应用。 该应用程序有一个本地数据库。 它在Android上工作正常,但我在WinPhone上面临崩溃。 当应用程序尝试更新数据库上的项目时,它会显示"没有这样的列:SendBill"。

通过调试应用程序,我可以看到它调用connection.CreateTable<TTable>();,其中TTable是一种RouteMobile。

我的RouteMobile:

public class RouteMobile: IModelBase
{
    public RouteMobile() { }

    [PrimaryKey]
    public int Id { get; set; }

    public int Code{ get; set; }

    public string Identifier { get; set; }

    public string DtExec { get; set; }

    public string Situation { get; set; }

    public int SendBill{ get; set; }

    public int QtdBillsToPrint { get; set; }

    public int QtdNotificationsToPrint { get; set; }

    public int QtdDebitNotificationsToPrint { get; set; }

    #region Sincronization

    public Int32 IdServer { get; set; }

    public DateTime SyncVersion { get; set; }

    public Boolean UpdateFlag { get; set; }

    #endregion

    [OneToMany(CascadeOperations = CascadeOperation.CascadeRead)]
    public List<RoutePointMobile> RoutePointList { get; set; }
}

我的IModelBase:

public interface IModelBase
{
    int Id { get; set; }
}

然后,app app调用connection.Update(item);,其中item是RouteMobile的一个实例,它崩溃了:

{SQLite.Net.SQLiteException: no such column: SendBill
   at SQLite.Net.SQLiteConnection.Update(Object obj, Type objType)
   at SQLite.Net.SQLiteConnection.Update(Object obj)
   at IM.Data.BaseMobileDAO`1.Save[T](T item)
   at IM.Business.RouteMobileBO.Save(RouteMobile item)
   at IM.Business.RouteMobileBO.AjustRoutes(IList`1 lstRout)
   at IM.ViewModels.RoutListViewModel.get_ListRouts()}

在Android上运行,运行正常。在WinPhone上,它崩溃了。

有什么想法吗?

谢谢!

0 个答案:

没有答案