我是新手,我想选择:(SQL)从[tablename]中选择textfileURL;
我现在拥有的:
public string GetfileURL()
{
return context.wordpuzzles.Select(i => i.textfileURL).ToString();
}
但它不起作用。
答案 0 :(得分: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 :(得分:1)
你应该先让你的物品正确,所以试试其中一个:
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
}
但是你必须确保你执行单一调用它在return语句中只有1行。
如果您不确定是否有任何行,可以添加.SingleOrDefault或.FirstOrDefault
答案 2 :(得分:1)
你做的几乎是正确的,但如果你想选择一个结果 - 请使用FirstOrDefault()
。否则你会得到IEnumerable<string>
。
答案 3 :(得分:1)
Select
将序列的每个元素投影到新表单中。所以它返回IEnumerable
而不是字符串。