簡體   English   中英

Linq Lambda Select語句

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM