2017-08-28 55 views
3

我有Store模型,如果我的模型爲空,我想返回null。C#如何返回null或模型

public Store Details() => db.Store.Single(s => s.Id == 1); 

該查詢有時返回一個值,有時返回null。我怎樣才能確定返回類型包含兩者?

+0

類引用默認是空的,所以你可以請在你想實現的目標中添加更多的描述?如果你想知道如何使用linq返回null,你可以使用SelectFirstOrDefault –

+5

檢查'Enumerable'中定義的擴展方法,以及你會發現的'Single()',例如'SingleOrDefault()' –

回答

6

嘗試使用

public Store Details() => db.Store.FirstOrDefault(s => s.Id == 1); 
+5

你可以嘗試' SingleOrDefault()'也是;而不是'FirstOrDefault()'。 –

4

使用的SingleOrDefault而非FirstOrDefault,因爲異常被拋出,如果超過一個發現

// Exception is thrown if more than one is found. (id have to be unique) 
public Store Details() => db.Store.SingleOrDefault(s => s.Id == 1); 

// does not throw exceptions 
public Store Details() => db.Store.FirstOrDefault(s => s.Id == 1);