我是新手,我想选择: (SQL) select textfileURL from [tablename];
我现在拥有的:
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");
将导致:
字符串 1 字符串 2 等
不确定这是否是你真正想要的......
如果你只想要一个,你可以使用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
,而不仅仅是一个字符串。