c# - 我想为使用 Linq To Sql 读取的数据集中的每条记录添加一个唯一 ID

标签 c# sql linq

这是我的读物:

    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/

相关文章:

c# - 如何在同一个项目中同时拥有 MVC 和 Razor 页面?

c# - GRASP的Controllers和MVC的Controllers问题

sql - 递归计数sql

php - Zend 框架 - 不在数据库中输入值 - 垃圾进入

c# - 如何在 C# 中的字典上实现 linq?

c# - 是否可以像 LINQ 一样创建 C# 语言修改?

C#加载文件所花费的时间

c# - 条码扫描windows phone 8

sql - 通过 SQL 中的层次结构进行计算

c# - LINQ DB Arithmetic 必须具有通用类型(日期比较