gpt4 book ai didi

c# - 如何解密 linq 查询中的文本

转载 作者:太空宇宙 更新时间:2023-11-03 10:51:40 25 4
gpt4 key购买 nike

我正在做一个网页来显示数据库中的信息。我显示的字段是加密的,查询是使用 C# 的 LINQ。

下面是查询:

    public IQueryable<JudgmentView> GetJudgmentReport([QueryString("id")] decimal? categoryId)
{
IQueryable<JudgmentView> query = db.JudgmentViews;
if (categoryId.HasValue && categoryId > 0)
{
query = from p in db.JudgmentViews
where p.CaseId == categoryId
select p;
return query;
}
return query;
}

返回的数据显示在 aspx 页面中。我希望能够在页面上显示之前解密字段内容。如何构建查询以在显示字段内容之前对其进行解密?

最佳答案

您可以像这样在 Select 语句中运行一个方法:

var decryptQuery = db.JudgmentViews.Where(p => p.CaseId == categoryId)
.Select(p => SomeMethodThatDecryptsView(p);

然后你需要另一种带有签名的方法

private notSureWhatToReturnHere SomeMethodThatDecryptsView(JudgmentView view)

我不知道你的解密方法的输出是什么,所以你可能需要更改你的 GetJudgmentReport 方法的返回类型。


如果您只需要解密一个字段,并且假设您可以将解密后的值存储在同一字段中,则可以即时创建新的 JudgmentViews 实例,只解密该字段。 (我将使用查询语法,就像您最初使用的那样。)

query = (from p in db.JudgmentViews
where p.CaseId == categoryId
select new JudgmentView
{
FieldOne = p.FieldOne,
FieldTwo = p.FieldTwo,
...
JudgmentField = MethodToDecryptJudgmentField(p.JudgmentField)
});

关于c# - 如何解密 linq 查询中的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21234535/

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