gpt4 book ai didi

c# - 多字段的linq convertall

转载 作者:太空宇宙 更新时间:2023-11-03 18:35:59 26 4
gpt4 key购买 nike

我必须从数据表中获取两个字段。然后我应该检查一个。“listIDStr”保留非唯一的用户 ID 列表。所以我必须使用“更新行时作为主键的 ID”。

List<string> listIDStr = new List<string>();
...
var sqlData = SqlDataBase.SqlGetTable("SELECT ID,UserID FROM TBL_UserT WHERE SID = " + 4663 + " AND UserID = '" + UserID + "'")
.AsEnumerable()
.ToList()
.ConvertAll(x=>x.Field<string>("UserID"))
.ToList();

List<string> Cikan = sqlData.Where(x => !listIDStr.Contains(x)).ToList();
List<string> Eklenen = listIDStr.Where(x => !sqlData.Contains(x)).ToList();

上面的代码是针对一个字段运行的。但是我想同时获取“ID”和“UserID”。有谁知道它是如何工作的?

最佳答案

使用匿名类型,here is the MSDN link .

var dtEnumerable = SqlDataBase.SqlGetTable("SELECT ID,UserID FROM TBL_UserT WHERE SID = " + 4663 + " AND UserID = '" + UserID + "'").AsEnumerable().ToList();

var newVariable = dtEnumerable.Select(x => new { UserID = x.Field<string>("UserID"), ID = x.Field<string>("ID") });
//Get new/old
var states = newVariable.Select(x => new { IsNew = !listIDStr.Contains(x.UserId), IsUpdate = listIDSTr.Contains(x.UserID), ID = x.UserID });
var updates = states.Where(x => x.IsUpdate).Select(x => x.UserID);
var newIds = states.Where(x => x.IsNew).Select(x => x.UserID);
//We now have access to both!
string firstUserID = newVariable.First().UserID;
string firstID = newVariable.First().ID;

关于c# - 多字段的linq convertall,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15428061/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com