c# - Xamarin Forms 从 sqlite 数据库中删除

标签 c# linq sqlite xamarin.forms

我有一个类公告,我有一个 id 列表,我正在使用 nuget 包:sqlite-net-pcl。 如果我有 ID,如何从我的公告表中删除公告。我正在尝试像这样使用 linq:await connection.DeleteAsync(announcement).Where(...) 但我不能将 Where 与 DeleteAsync 一起使用,所以我尝试了

var query = connection.Table<Announcement>().Where(announcement=>announcement.AnnouncementId == announcementId)

它给了我这个错误:System.NotSupportedException:无法删除 AsyncTableQuery`1:它没有 PK

最佳答案

我认为您正在寻找这样的东西:

public static int Delete(string url)
{
    using (var databaseManager = DatabaseManager.Instance)
    {
        lock (databaseManager)
        {
            return databaseManager.Database.Table<File>().Delete(x => x.Url == url);
        }
    }
}

这是使用SQLite;
https://developer.xamarin.com/guides/android/data-and-cloud-services/data-access/part-3-using-sqlite-orm/

关于c# - Xamarin Forms 从 sqlite 数据库中删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40124884/

相关文章:

android - Xamarin SQLite 如何从我的数据库中获取值以在我的代码中使用它们?

c# - 在 VS 2017 中的预构建事件中使用 protoc 从 .proto 文件生成 c# 文件

javascript - 如何在asp.net页面中添加javascript内容

c# - 对于多个Azure表存储帐户实现,如何实现每秒超过20,000+请求的插入和查询?

c# - 无法序列化接口(interface) System.Linq.IQueryable

SQL代替触发器和更新

c# - 从桌面而不是表单获取鼠标位置

c# - 如果使用 LINQ 找不到分隔符,则拆分字符串并设置默认值

linq - 在 LINQ to ADO.net 数据服务查询中使用 Expand 的替代方法有哪些?

java - Android SQLite 查询