C# 如何在C中导入带有空行的SQLite DB?
我正在用LINQ从C中的SQLite DB读取数据。它工作正常,直到SQLite数据库中有一个空行,然后我的工具崩溃。是否有人知道如何跳过或处理空行,即只有PrimaryKey但没有FunctionId和Name的行 使用指定强制转换的此行无效C# 如何在C中导入带有空行的SQLite DB?,c#,database,sqlite,import,C#,Database,Sqlite,Import,我正在用LINQ从C中的SQLite DB读取数据。它工作正常,直到SQLite数据库中有一个空行,然后我的工具崩溃。是否有人知道如何跳过或处理空行,即只有PrimaryKey但没有FunctionId和Name的行 使用指定强制转换的此行无效 List<Functions> Functions = (from f in context.Functions select f).ToList(); 我收到的错误消
List<Functions> Functions = (from f in context.Functions
select f).ToList();
我收到的错误消息是指定的强制转换无效。
问题似乎是FunctionId为空,我试图使FunctionId为空,但仍然发生相同的错误
更新:
好的,问题是,托利斯
如果我写
IQueryable<Functions> Functions = (from f in context.Functions
select f)
它起作用了。然后我必须手动过滤空值并将其转换为列表。你是说你的主键也是空的?如果FunctionId是可空的列,你需要将类型更改为int?@BugFinder主键幸运的不是空的@Darjan Bogdan是的,我也试过了,但是仍然是相同的错误消息Thank@safarondiss当你说行是空的时,我感到困惑。。如果它有主键,则它不是空的
[Column(IsPrimaryKey = true)]
public int? PrimaryKey{ get; set; }
[Column]
public int? FunctionId{ get; set; }
[Column]
public string Name { get; set; }
IQueryable<Functions> Functions = (from f in context.Functions
select f)