我是新来林克的。我在网上找了又找,什么都找不到。我有一个Linq查询,我想在将其传递到下拉列表之前在顶部插入一行(“Select User”)。我一直在尝试使用Union,但现在没有用(它一直告诉我我的对象不支持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;
}
太累了,我快瞎了。有什么帮助吗?