C# Xamarin:对象必须实现IConvertible
我得到以下例外 System.InvalidCastException:“对象必须实现IConvertible。” 第2行或函数开始后的任何一行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
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提供一个简单的示例来重现您的问题?我会帮你在我身边测试。