如何在LINQ列表中添加新记录

时间:2014-12-26 09:23:11

标签: c# asp.net asp.net-mvc-3

我使用了q Linq查询并在列表索引顶部添加了新的一条记录

List<PMAST> lstPmast = new List<PMAST>();

lstPmast.Add(new PMAST() { EmpId = 0, PCODE = "--Select--", PNAME = "--Select--" });

var GetEmployeeLst = (from d in db.PMASTs
                      where d.CNO == iCNO && d.Isdeleted != true
                      select new
                              {
                                  EmpId = d.EmpId,
                                  PCODE = d.PCODE,
                                  PNAME = d.PNAME
                              }).ToList();

5 个答案:

答案 0 :(得分:1)

您可以通过多种方式执行此操作,其中一种方法只是使用AddRange的{​​{1}}方法:

List

答案 1 :(得分:1)

由于您的问题是用ASP.NET MVC标记的,我假设您尝试在下拉列表中添加一些默认值。如果是这种情况,您可以直接使用相应的DropDownListFor帮助程序,无需在视图模型中插入此类虚假记录即可实现此目的:

@Html.DropDownListFor(x => x.SelectedEmployee, Model.Employees, "--Select--")

您不再需要更改数据模型来实现纯粹的UI内容。

答案 2 :(得分:0)

使用此代替Add:

lstPmast.Insert(0,new PMAST() { EmpId = 0, PCODE = "--Select--", PNAME = "--Select--" });

答案 3 :(得分:0)

您可以按list.add添加ne记录,如:

lstPmast.add(newlistitem);

答案 4 :(得分:0)

看起来你的对象列表最终会出现在asp.net组合框或winform组合框中。

这是我的建议

List<Tuple<int,string>> lstPmast;

var lstPmast = db.PMASTs.Where(d => d.CNO == iCNO && !d.Isdeleted).Select(d => Tuple.Create(d.EmpId, e.PCODE + "-" + e.PNAME)).ToList();

// then add a default as the first item in the list
lstPmast.Insert(0, Tuple.Create(0, "--- Select ---"));

// bind the list to your combobox here. Use Item1 as value and Item2 as the description