Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Xamarin:对象必须实现IConvertible_C#_Sqlite_Xamarin_Iconvertible - Fatal编程技术网

C# Xamarin:对象必须实现IConvertible

C# Xamarin:对象必须实现IConvertible,c#,sqlite,xamarin,iconvertible,C#,Sqlite,Xamarin,Iconvertible,我得到以下例外 System.InvalidCastException:“对象必须实现IConvertible。” 第2行或函数开始后的任何一行 public int SaveItem<T>(T item) where T : IBusinessEntity, new() { if (database.Table<T>().FirstOrDefault(x => x.ID == item.ID) != null) { database

我得到以下例外

System.InvalidCastException:“对象必须实现IConvertible。”

第2行或函数开始后的任何一行

public int SaveItem<T>(T item) where T : IBusinessEntity, new() {
    if (database.Table<T>().FirstOrDefault(x => x.ID == item.ID) != null)
    {
        database.Update(item);
        return item.ID.Value;
    }
    else
    {
        return database.Insert(item);
    }
}
public int SaveItem(T项),其中T:IBusinessEntity,new(){
if(database.Table().FirstOrDefault(x=>x.ID==item.ID)!=null)
{
数据库更新(项目);
返回item.ID.Value;
}
其他的
{
返回数据库。插入(项);
}
}
它被叫做

public void SaveCategory(Category c){
     db.SaveItem<Category>(c);
}
公共存储类别(c类){
db.SaveItem(c);
}

该函数在过去3年中一直使用,没有出现任何问题,但当我最近不得不更新一些NuGet软件包(即SQLite PCL)时,它停止了工作。我不知所措

你在哪里看到这个错误消息?您在哪里转换数据?在SaveItem函数的第一行。我看到您使用了泛型约束,因此Category类派生自IBusinessEntity类?完全正确。businessEntity接口有一个简单的整数属性根据您的描述,我无法重现您的问题,因此您能否在github提供一个简单的示例来重现您的问题?我会帮你在我身边测试。