2013-06-25 136 views
-1

我對此很陌生,我想選擇:(SQL)從[tablename]中選擇textfileURL;Linq lambda Select語句

我現在擁有的一切:

public string GetfileURL() 
    { 
     return context.wordpuzzles.Select(i => i.textfileURL).ToString(); 
    } 

但它不工作。

+0

什麼樣的錯誤你得到 –

+3

'Select'返回'的IEnumerable <>'你是鑄造'string'。 – Matten

+2

這會返回多個網址,您想要哪一個? –

回答

2

這條線:

context.wordpuzzles.Select(i => i.textfileURL) 

將返回一個IEnumerable的。然後你試圖把它轉換成一個字符串。 我想你想把這個IEnumerable中的所有文本分配給一個字符串?

然後Aggregate可以派上用場=)。

context.wordpuzzles.Select(i => i.textfileURL) 
       .Aggregate(string.Empty, (current, c) => current + c + "\n"); 

會導致這樣的:

字符串1 字符串2 等

不知道這是否是你真正想要的...

如果你只是想你可以使用FirstOrDefault

例子:

context.wordpuzzles.FirstOrDefault(i => i.textfileURL.Contains("your criteria")) 
1

你應該把你的項目(S)正確的先這樣嘗試其中之一:

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 
} 

但你gotto如果您確保執行Single調用,它在return語句中只有1行。

如果你不知道你有你可以添加.SingleOrDefault或.FirstOrDefault

1

Select項目序列的每個元素到一個新的形式。所以它返回IEnumerable而不是一個字符串。