gpt4 book ai didi

c# - 根据 OData 查询评估单个对象

转载 作者:太空宇宙 更新时间:2023-11-03 14:50:34 31 4
gpt4 key购买 nike

我有一个用 C# 编写的应用程序。在该应用程序中,我将 C# 对象序列化为 JSON。稍后,我想查看单个对象是否“匹配”OData $filter 字符串。换句话说,我想使用像 Regex.Match 这样的 OData $filter。

我的问题是,有没有办法做到这一点?我评估过的所有内容都在幕后使用 LINQ。这意味着需要一个 IQueryable。这意味着我必须首先将我的 C# 对象添加到某个集合中。这似乎是一种增加开销的技巧。

有没有一种方法可以像使用 Regex.Match 方法一样使用 OData $filter?谢谢!

最佳答案

根据您对我的评论的回复,除非我误解了您。

您无需将对象存储在 IQueryable 中即可:

//your object, with [DataContract] and [DataMember] attributes
var yourObject = new YourObject();

//populate the properties or whatever you want with your object
yourObject.Blabla = 1;

//serialize your object into a string
var objectSerialized = JsonConvert.SerializeObject(yourObject);

//your Regex string pattern, something like this?
var pattern = Odata.Filter;

//Use Regex to try to match the pattern with the serialized object, no IQueryable needed
var match = Regex.Match(objectSerialized, pattern);

//See if the regex matched
if (match.Success)
//do something

关于c# - 根据 OData 查询评估单个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51966318/

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