c# - 如何在 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)
有用。然后我必须手动过滤掉空值并将其转换为列表。
解决方案
推荐阅读
- javascript - 我应该创建一个接口、类还是两者兼而有之?
- cloud - 谷歌云功能给予
- symfony - 如何获得 Doctrine 可排序的“重复输入错误”
- arduino - 在 Arduino 中传递/打印参数
- counter - 每当创建新的时间序列时,将 prometheus 计数器初始化为 0
- c# - 在 ASP.NET 3 中创建延迟
- excel - 删除表中的隐藏(过滤)行
- laravel - 带有确认方法手册的 Stripe PaymentIntent 每次都失败
- spring - Spring oauth2将客户端保存在数据库中
- vb.net - 如何将时间格式“hh:mm tt”从 Datagridview 数据单元格传输到 datetimepicker?