【发布时间】:2015-06-12 01:34:00
【问题描述】:
我在实体框架中填写了一个列表;
List<StockProperties> props = db.StockProperties
.Where(prop => prop.Stok_ID == stok.ID)
.ToList();
这里的问题是,如果我的查询为空,它会返回一个
非静态方法需要一个目标。
错误很明显,因为 EF 使用空序列执行此操作。我的问题是处理这些空查询的最合理方法是什么?如果我的查询返回空序列,我希望我的列表为空。
【问题讨论】:
-
“如果我的查询为空”?我在这里看不到任何空值,除了
stok。 -
DefaultIfEmpty 是一种方便的方法,您可以在此处使用。您可以为每个股票指定默认值。另外,为什么不检查 List 是否为 null 或 List.Length > 0
-
我没有得到这个,是抛出异常还是
propssimply 只是null?因为您的代码似乎没有任何问题,如果 EF 查询返回 0 行,您应该得到一个空列表。如果它是一个异常,你能告诉我们堆栈跟踪吗? -
代码示例应该返回一个空的
List<StockProperties>(假设没有匹配)。如果不是,您需要提供更多详细信息。当您尝试使用该列表时,是否可能稍后会发生异常?
标签: c# entity-framework