gpt4 book ai didi

c# - LINQ to Entities 根据结果拆分字符串

转载 作者:太空狗 更新时间:2023-10-29 23:20:32 26 4
gpt4 key购买 nike

我有一个 LINQ 语句如下:

var playedBanDataList =
from bannedPlayers in query
select new PlayerBanData
{
Admin = bannedPlayers.Admin,
BannedUntil = bannedPlayers.BannedUntil,
IsPermanentBan = bannedPlayers.IsPermanentBan,
PlayerName = bannedPlayers.PlayerName,
Reason = bannedPlayers.Reason,
IpAddresses = bannedPlayers.IpAddresses.Split(new [] {","}, StringSplitOptions.RemoveEmptyEntries).ToList()
};

return playedBanDataList.ToList();

这会失败,因为拆分函数在 IpAddresses 上失败,因为 LINQ to Entities 无法将此查询转换为 SQL。

这是有道理的,但是什么是优雅地完成它的等效方法呢?我想到的唯一方法是在检索到的字符串上手动运行一个循环然后拆分它,但我想一次性得到它。

最佳答案

您可以使用 AsEnumerable 使选择发生在内存中而不是 EF 中。

var playedBanDataList = query.AsEnumerable()
.Select(bannedPlayers => new PlayerBanData
{
Admin = bannedPlayers.Admin,
BannedUntil = bannedPlayers.BannedUntil,
IsPermanentBan = bannedPlayers.IsPermanentBan,
PlayerName = bannedPlayers.PlayerName,
Reason = bannedPlayers.Reason,
IpAddresses = bannedPlayers.IpAddresses.Split(
new [] {","},
StringSplitOptions.RemoveEmptyEntries).ToList()
});

关于c# - LINQ to Entities 根据结果拆分字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42603070/

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