我希望這個問題尊重 StackOverflow 指南。我的ResultsTable資料庫(SQL Server 管理作業室)中有一個表 ( ),其中的列是:
ID (PK, FK, int, not null)
RiskRate (PK, int, not null)
FileName (PK, nvarchar(100), not null)
在 C# 中,我使用了EF. 在我的代碼中,有一個方法SelectFileNames(string fileName):
var resultSearch = (from result in DB.ContextManagement.ResultTable
where result.FinaName.compareTo(fileName) == 0
select result).FirstOrDefault();
if (resultSearch == null)
...
else
...
該FirstOrDefault()方法有這樣的描述:
Returns the first element of the sequence that satisfies a condition
or a default value (TSource) if no such element is found.
那么,如果沒有具有該檔案名的元素,我該如何強制FirstOrDefault()回傳null?注意:在我的表中ResultTable,列有not null約束。
謝謝。
uj5u.com熱心網友回復:
如果在您的查詢中
(from result in DB.ContextManagement.ResultTable
where result.FinaName.compareTo(fileName) == 0
select result)
沒有物體尊重您的條件,然后FirstOrDefault將回傳null。
它在
List<Users> userlist = new ();
userlist.Add(new Users() {username = "testuser",password = "testpass"});
userlist.Add(new Users() { username = "testuser2", password = "" });
var result = userlist.FirstOrDefault(s => s.username == "testuser2")?.password;
uj5u.com熱心網友回復:
您可以使用以下語法
var resultSearch = DB.ContextManagement.ResultTable.Where(x => x.FileName == fileName).ToList() ;
if (resultSearch.Count > 0)
...
else //Get the first element of list
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/363705.html
標籤:C# sql-server
上一篇:觸發SQLServer表的更新
下一篇:選擇只包含一個特定專案的一組行
