我是Linq的新手。我搜索并搜索了网络以寻找解决方案,但找不到任何东西。我有一个Linq查询,我想在我将其传递到下拉列表之前插入一行(“选择用户”)到顶部。我一直在尝试使用联盟,但现在可以使用(它一直告诉我,我的对象不支持Union方法)。在尝试插入行之前,我的代码非常简单。
public SelectList DropDown_Users()
{
var context = new VivarianDataContext();
var query = from t in context.AspnetUsers
select new { t.UserId, t.LastName };
list = new SelectList(query.AsEnumerable(), "UserId", "LastName");
return list;
}
现在我尝试插入一行,我在互联网上发现了这一点,似乎说他的解决方案会起作用。但它充满了错误。 http://magicode.wordpress.com/2009/08/20/inserting-an-item-in-iqueryable-object-using-union-method-and-linq/
我尝试使用以下代码实现它,但它不能编译。
public SelectList DropDown_Users()
{
SelectList list;
//get the original data
var context = new SQL2005633131VivarianDataContext();
var query = from t in context.AspnetUsers
select new { t.UserId, t.LastName };
//create a dummy table with an empty row
var AllUsers = new List<AspnetUsers>();
var BlankUser = new AspnetUsers()
{UserId=System.Guid.Empty, LastName="Select One"};
AllUsers.Add(BlankUser);
//use Union to join the data - ERRORS HERE - doesn't support Union
var newTable = AllUsers.Union(query);
list = new SelectList(newTable.AsEnumerable(), "UserId", "LastName");
return list;
}
太累了,我会失明。有什么帮助吗?
答案 0 :(得分:0)