JSON-文字列にLINQ-オブジェクトのシリアル化 - 巨大な文字列を
-
23-08-2019 - |
質問
私は、JSONオブジェクトとして(これはWebサービスである)私のデータベースにアクセスするためのLINQを使用して、それによって私はブラウザに送信するLINQ-作成されたオブジェクトを取得しています。これは、今ではうまく動作しますが、私はデータベース(各テーブルには約10〜20エントリ)にいくつかのテストデータを追加するとき、これは無残に失敗します。その理由は、LINQオブジェクトが参照されるすべてのオブジェクトが含まれていることです。これはかなり速い膨大になります。例えば。各resourcetypeのは、それぞれの予約が含まれているすべてのreservationlinesが含まれているすべてのリソースが含まれています..
私はこの問題を解決する方法上の任意のヒントを持っていますか?私が設定することができますシリアライザの設定はありますか?私は、オブジェクトをシリアル化するために json.net のを使用しています。またはLINQでいくつかの設定があるのでしょうか?
最良の場合には、私はそれらを直列化する前に、それだけで直接LINQ-オブジェクトをシリアル化するために非常に便利ですので、私は、新しいオブジェクトを作成する必要はありません。)
解決
ベストプラクティスは、少なくとも現時点では、SQLオブジェクト、またはEntity FrameworkのエンティティへのLINQをシリアル化しないことです。その主な理由は、それらが基底クラスから実装依存のデータを含むことがある。
その代わり、あなたはシリアル化された欲しいものをシリアライズします。送信したい、そして送信する前にSQLにLINQからそれらにオブジェクトをコピーするかを正確に一致使用するデータ転送オブジェクトます。