Linq式のシリアル化/シリアル化を行うためのライブラリ/ツールを探しています。BinarySerializerを使用して基本的なLinq式をデシリアライズする
そこにライブラリがありますか? 既に.NETでサポートされていますか?どのように私はスターターのスタッフコードを取得できますか?
Linq式のシリアル化/シリアル化を行うためのライブラリ/ツールを探しています。BinarySerializerを使用して基本的なLinq式をデシリアライズする
そこにライブラリがありますか? 既に.NETでサポートされていますか?どのように私はスターターのスタッフコードを取得できますか?
Linq式の結果、またはシーケンスで使用できる式は、シリアル化したいものが不明です。
IEnumerable<MyCollectionItem> MyCollection = ...;
IEnumerable<MyItem> result = MyCollection.LinqQuery(...);
結果をシリアル化しますか?またはあなたが別のコレクションで、後でそれを使用することができますので、LinqQueryをシリアライズしたいん:
IEnumerable<MyItem> otherResult = OtherCollection.DeserializedLinqQuery()
最初は簡単です:List<MyItem>
に結果を変換し、シリアライズ/リストをdeserizalize。 IEnumerableを
秒すべての後、LinqQueryは(可能なコンポジット)拡張機能以外の何ものでもありません、実際には不可能である
static class MyCollectionItemExtensions
{
public static IEnumerable<MyItem> MyLinqQuery(this IEnumerable<MyCollectionItem>(...)
{
...
}
}
MyLinqQueryは、あなたがそれを適用した後にのみ、機能ですシーケンスでは、列挙できるオブジェクトを取得します。関数をシリアライズするのは簡単ではありません。
MyLinqQueryがIQueryableの場合、クエリはMyCollectionの要素に適用される関数ではなく、MyCollectionの要素に適用される式を持つものです。その式をIQueryableに問い合わせて、その式をシリアライズすることができます。
この記事では、これを行う方法についていくつかの回答があります。StackOverflow: Serializing and deserialize expression tress