expressionvisitor

    0熱度

    1回答

    我的WCF數據服務的存儲庫模式的實現存在問題。總而言之,我試圖在客戶端應用程序中使用一個存儲庫模式,該模式利用它需要的存儲庫的可插入模型。根本問題是我的存儲庫接口IRepository只能知道它存儲的項目的接口類型變體。這是爲了將客戶端應用程序從訂單的數據服務實現中抽象出來,例如 IRepository<IOrder> : IQueryable<T> 一般來說,這個概念可以正常工作,直到涉及數

    1熱度

    1回答

    尋找方法來找到可查詢的參與加入... 基本上,我想檢查模型類X用於在可查詢的語句連接操作。使用David Fowl的QueryInterceptor我可以在IQueryable上放置表達式訪問者。然後檢查Lambda表達式(看起來像是連接一般用它們表示),以查看類型爲X的參數。訪問者可以切換標誌以獲得匹配。 其他方式?再次,我只關心X類是否參與聯接。

    0熱度

    1回答

    爲什麼VisitParameter打印每個參數2次? class MyExpressionVisitor : ExpressionVisitor { protected override Expression VisitParameter(ParameterExpression node) { Console.WriteLine(node.Name)

    1熱度

    1回答

    對於我們需要軟刪除的數據庫,我們有一個IsActive位列。如果爲false,則表示記錄已被標記爲已刪除。 對於99%的時間,查詢應該只包含IsActive設置爲true的記錄。在實體框架6中,我們使用自定義的DefaultExpressionVisitor(通過IDbCommandTreeInterceptor)在列存在於表上時自動進行此檢查。 但是,在極少數情況下,這種行爲需要被覆蓋。有沒有辦

    2熱度

    1回答

    Asume,我們表達這樣的: someIQueryable.Where(x => x.SomeBoolProperty) someIQueryable.Where(x => !x.SomeBoolProperty) 我需要轉換(重寫使用表達式訪問者)的表達像上面這樣的表述: someIQueryable.Where(x => x.SomeBoolProperty == true) some

    1熱度

    2回答

    我試圖將一個對象與一個隨機值進行比較,該值可能是一個ID和ObjectKey,甚至是同一個對象。總之,我想比較一個對象與任何東西,而不只是相同的類型。 爲此,我覆蓋了對象的Equals()和GetHashCode(),並且它按預期工作。但我注意到當我通過'obj == value'搜索時,Linq不會調用這些方法。 如果我將查詢更改爲'obj.Equals(value)',則應該調用Equals(

    0熱度

    1回答

    的排序依據statment不是由Azure Table中存儲LINQ提供程序我有一個像 .Where(t => (t.RowKey.CompareTo("U_") > 0)).OrderBy(user => user.UserName) 表達式我試圖從表達式樹中刪除.OrderBy(user => user.UserName) 我也想遊客刪除支持從下面的表達式的OrderBy statment

    2熱度

    2回答

    我們遇到了一些實體軟實體框架的軟刪除功能問題。這個想法是使用知道EF上下文的存儲庫。在存儲庫的層次上,我們實現了一個插件系統,只要在存儲庫上完成一個操作,就會執行這些插件。例如,當我們調用Repository.GetQuery<Relation>()時,插件會被執行。其中一個插件是LogicalDeletePlugin,這個插件應該爲select中的每個表添加一個Where(x => x.IsDe

    8熱度

    1回答

    類型鑑於沿 entity => entity.SubEntity.Any( subEntity => ( (subEntity.SomeProperty == False) AndAlso subEntity.SubSubEntity.FooProperty.StartsWith( value(SomeClass+<>c__DisplayCla

    3熱度

    1回答

    我已經編寫了一個完美工作但有一個例外的LINQ提供程序。它將LINQ-Queries轉換爲ODATA-URL標準。 如果我有以下LINQ的聲明: .Select(x => x.Name.ToLower()).OrderByDescending(x => x) ,當我與一個表達式遊客參觀表達式目錄樹,我會得到一個表達部分(OrderByDescending),它的類型是ParameterExpr