这是我的读物:
OnSiteV3DataContext _v3Context = new OnSiteV3DataContext();
var dataset1 = (from sp in _v3Context.SQLPendingEvents
where
(sp.EventType.ToString() == str100w)
select new
{
sp.KeyDeviceID,
sp.UpdateTime ,
sp.EventClass ,
sp.EventCode ,
sp.EventType ,
sp.EventDateTime ,
sp.KeyPropertyID,
sp.KeyEntityID,
sp.EventText,
sp.KeyUserID,
sp.EventImage,
sp.TaskType ,
sp.TaskSubType ,
sp.UniqueTaskID
}).ToList();
dataset1 = dataset1.Where(sp => !sp.KeyDeviceID.ToString().Contains('~')).ToList();
gvSqlPendingEvent.DataSource = dataset1;
gvSqlPendingEvent.DataBind();
Ther 数据集没有唯一标识符来标识单个记录,因此我想添加一个。我希望第一列是这个标识符——它可以基于行数。我怎样才能做到这一点?
最佳答案
您可以将查询投影移动到客户端并使用 Enumerable.Select 的重载:
var dataset1 = _v3Context.SQLPendingEvents
.Where(sp => sp.EventType.ToString() == str100w)
.AsEnumerable() // further processing occurs on client
.Select((sp,index) => new {
ID = index + 1,
sp.KeyDeviceID,
sp.UpdateTime ,
sp.EventClass ,
sp.EventCode ,
sp.EventType ,
sp.EventDateTime ,
sp.KeyPropertyID,
sp.KeyEntityID,
sp.EventText,
sp.KeyUserID,
sp.EventImage,
sp.TaskType ,
sp.TaskSubType ,
sp.UniqueTaskID
}).ToList();
关于c# - 我想为使用 Linq To Sql 读取的数据集中的每条记录添加一个唯一 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22410280/