[英]Linq lambda Select statement
我對此很陌生,我想選擇:(SQL)從[tablename]中選擇textfileURL;
我現在所擁有的:
public string GetfileURL()
{
return context.wordpuzzles.Select(i => i.textfileURL).ToString();
}
但這是行不通的。
這行:
context.wordpuzzles.Select(i => i.textfileURL)
將返回IEnumerable。 然后,您嘗試將其強制轉換為字符串。 我認為您想將此IEnumerable中的所有文本分配給一個字符串?
然后, 聚合可以派上用場=)。
context.wordpuzzles.Select(i => i.textfileURL)
.Aggregate(string.Empty, (current, c) => current + c + "\n");
將導致以下結果:
string1 string2等
不確定這是否是您真正想要的...
如果您只想要一個,可以使用FirstOrDefault 。
范例:
context.wordpuzzles.FirstOrDefault(i => i.textfileURL.Contains("your criteria"))
您應該先正確設置商品,然后嘗試以下一種方法:
public string GetfileURL()
{
return context.wordpuzzles.Single(i => i.condition = "yourCriteria").textfileURL.ToString();
}
要么
public string GetfileURL()
{
return context.wordpuzzles.First(i => i.condition = "yourCriteria").textfileURL.ToString();
}
要么
public string GetfileURL()
{
dim results = context.wordpuzzles.Where(i => i.condition = "yourCriteria").ToList();
'perform rest of code
}
但是您必須確保是否執行Single調用,它在return語句中只有1行。
如果不確定是否有任何行,則可以添加.SingleOrDefault或.FirstOrDefault
您正在做幾乎正確的事情,但是如果要選擇一個結果,請使用FirstOrDefault()
。 否則,您將得到IEnumerable<string>
。
Select
將序列的每個元素投影到新表單中。 因此它返回IEnumerable
而不是僅一個字符串。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.