首页 > 解决方案 > 如何在 C# 中导入带有空行的 SQLite-DB?

问题描述

我正在使用 LINQ 从 C# 中的 SQLite-DB 读取数据。它工作正常,直到 SQLite-DB 中有一个空行,然后我的工具崩溃。有谁知道我可以如何跳过或“处理”一个空行(即只有一个 PrimaryKey 但没有 FunctionId 和名称的行)。

此行因“指定的演员表无效”而崩溃。

List<Functions> Functions = (from f in context.Functions
                                    select f).ToList();

我什至尝试过:

List<Functions> Functions = (from f in context.Functions
                                    select f).Where(x => x.FunctionId != null).ToList();

模型:

        [Column(IsPrimaryKey = true)]
        public int? PrimaryKey{ get; set; }

        [Column]
        public int? FunctionId{ get; set; }

        [Column]
        public string Name { get; set; }

我得到的错误消息是“指定的演员表无效”。看起来问题是空的 FunctionId 并且我试图使 FunctionId 可以为空,但仍然发生相同的错误。

更新: 好的,问题是 .ToList()

如果我写

IQueryable<Functions> Functions = (from f in context.Functions
                                    select f)

有用。然后我必须手动过滤掉空值并将其转换为列表。

标签: c#databasesqliteimport

解决方案


推荐阅读