Serializing dan Deserializing Expression Trees di C #


Jawaban:


48

Saya melanjutkan pekerjaan di perpustakaan yang disebutkan oleh Serializing dan Deserializing Expression Trees di C #

Sepertinya proyek ini ditinggalkan (2008) tetapi saya melakukan beberapa pekerjaan dan sekarang bekerja dengan .NET 4.0 dan Silverlight. Saya membuat perbaikan bug pada kode mereka dan juga membuatnya lebih tidak bergantung pada DAL.

http://expressiontree.codeplex.com/


2
1 untuk menghasilkan solusi yang berfungsi. Saya mencoba menggunakan pustaka asli di MSDN dan itu tidak bisa menghilangkan simpul ekspresi biner sederhana. Proyek Anda bekerja dengan baik. Terima kasih!
Jacobs Data Solutions

2
Apakah itu proyek di Nuget?
Mohammad Dayyan

@MohammadDayyan, Microsoft telah ragu-ragu dan tidak konsisten dalam alat manajemen paketnya. Terkadang paket ASP.NET CORE dapat diinstal dengan Nuget, dalam kasus lain misalnya driver MongoDB tidak akan tersedia melalui NuGet. Setidaknya masih Microsoft memiliki wawasan untuk memungkinkan NPM mengelola paket. Lebih mungkin untuk menempatkan ini pada NPM
T. Webster

@RepoMan memecahkan masalah jauh lebih berharga bagi saya ketika itu membantu seseorang. Mungkin Anda dapat menyumbangkan beberapa dokumentasi tentang penggunaan - mari kita bicara ..
T. Webster

14

Pilihan lain adalah proyek Serialisasi Pohon Ekspresi di code.msdn.com - akan tampak lebih apa yang dibutuhkan di sini?

UPD: Sekarang http://archive.msdn.microsoft.com/exprserialization


Expression Tree Serialization code dihapus dari code gallery code.msdn.microsoft.com/exprserialization , tahu kemana ia akan dipindahkan atau alternatif yang lebih baik?
Kiran Bheemarti

@Kiran: Apa maksudnya? Download kode masih ada; periksa tab unduhan di bagian atas halaman.
Robert Harvey

Ya sekarang, mungkin hal yang sementara, halaman melempar proyek tidak ditemukan kesalahan kemarin ketika saya mencoba tautan di atas. Saya melihat proyek dan mengunduh sekarang. Terima kasih!!!
Kiran Bheemarti

13

Ada sebuah proyek di GitHub / Nuget bernama MetaLinq yang bertujuan untuk membuat pekerjaan dengan rambut ekspresi lebih mudah.

Ini mengubah antara Ekspresi normal dan 'EditableExpressions' yang dapat berubah dan dapat diserialkan sepenuhnya, sehingga dapat digunakan dengan Json, Xml, Binary, dll.

Periksa juga posting blog ini untuk info lebih lanjut.


12

lihatlah perpustakaan baru saya Serialize.Linq . Ini membuat serial ekspresi linq menjadi json, xml dan biner.


apakah kamu pernah menggunakan ini sebelumnya? bagaimana pengalaman Anda / menemukan batasan?
Alexandre Brisebois

saya menggunakan versi serupa di proyek terakhir saya. bekerja dengan baik.
esskar

Mengapa Anda menulis sesuatu yang memperparah garis antara tingkatan? Anda mempromosikan eksposur objek domain DAL ke BAL ... kecuali perpustakaan Anda entah bagaimana secara otomatis mengubah DTO (dan kueri terhadapnya) menjadi objek / kueri domain. Saya tidak melihat apa pun di dokumen yang menunjukkan perilaku seperti itu.
M.Babcock

@ M.Babcock: apa yang ingin Anda gunakan dalam ekspresi DTO vs Entitas bukan bagian dari logika pustaka.
esskar

4
@esskar blog / seluruh situs Anda sepertinya hilang. sudah pindah?
Jon

3

Tidak seluruhnya; namun, contoh Dynamic LINQ mungkin sedikit membantu. Anda pasti dapat membuat serial ekspresi menjadi string (sampai batas tertentu - generik terlihat agak aneh), tetapi tidak ada parser bawaan.


Saya tidak dapat menemukan cara untuk membuat serial ekspresi ke string menggunakan sampel, hanya arah lain, untuk mengambil sebagai string dan membuat pohon ekspresi. Metode apa yang saya panggil?
Christopher Edwards


Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.