Tôi đã sử dụng biểu thức C# trước dựa trên lamdas, nhưng tôi không có kinh nghiệm soạn thảo chúng bằng tay. Với số Expression<Func<SomeType, bool>> originalPredicate
, tôi muốn tạo một số Expression<Func<OtherType, bool>> translatedPredicate
.C# Làm thế nào để chuyển đổi một biểu thức <Func <SomeType>> thành biểu thức <Func <OtherType>>
Trong trường hợp này SomeType và OtherType có cùng các trường, nhưng chúng không liên quan (không thừa kế và không dựa trên giao diện chung).
Thông tin cơ bản: Tôi có triển khai kho lưu trữ dựa trên LINQ to SQL. Tôi chiếu các thực thể LINQ to SQL vào các thực thể Model của tôi, để giữ mô hình của tôi trong POCO. Tôi muốn chuyển các biểu thức vào kho lưu trữ (dưới dạng một đặc tả) nhưng chúng phải dựa trên các thực thể mô hình. Nhưng tôi không thể chuyển những biểu thức đó vào bối cảnh dữ liệu, vì nó mong đợi các biểu thức dựa trên các thực thể LINQ to SQL.
Phản hồi có trong chủ đề này: http://stackoverflow.com/questions/4601844/expression-tree-copy-or-convert – jeanlou1370