我有一个使用LINQ-to-SQL的工具,有时我只需要一行我提供的文本数据。在过去,我做过这样的事情:
results = (from x in [tablename] select new {myValue1 = "TextValue1", myValue2 = "TextValue2"}).Distinct();
但这需要[tablename]中至少有一行,这不再是我可以依赖的东西。
编辑: 更好的例子,知道为什么我需要这样做;我需要这个查询(我可以在我的程序中编辑)以返回“结果”中的所有内容并正确排序:
results = from z in (
from x in [tablename]
select new
{
myValue1 = "TextValue1",
myValue2 = "TextValue2"
}
).Union(
from y in [tablename]
select new
{
y.myValue1,
y.myValue2
}
)
orderby z.myValue1,z.myValue2
select new
{
z.myValue1,
z.myValue2
};
答案 0 :(得分:1)
既然你的方法返回一个普通的IList,你可以这样做吗?
var results = new ArrayList();
results.Add(new {myValue1 = "First", myValue2 = "First"});
results.AddRange(myLinqQuery.ToList());
return results;
... myLinqQuery
是您现有的查询。
答案 1 :(得分:0)
您可以使用
一行First()//如果没有要返回的值,则会引发错误
或
FirstOrDefault()//如果没有返回值
,则不会抛出错误
results = (from x in [tablename] select new {myValue1 =
"TextValue1", myValue2 = "TextValue2"}).Distinct().FirstOrDefault();