第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

為 Jquery 數(shù)據(jù)表生成動(dòng)態(tài) Linq

為 Jquery 數(shù)據(jù)表生成動(dòng)態(tài) Linq

C#
寶慕林4294392 2021-06-30 14:31:25
我正在嘗試構(gòu)建一個(gè)適配器,以便將JQuery Datables與 Entity Framework 一起使用變得相當(dāng)簡(jiǎn)單。該適配器與 Telerik 在其Kendo UI Extensions 中構(gòu)建的適配器非常相似。我已經(jīng)設(shè)法使大部分邏輯正常工作,但給我?guī)?lái)一些麻煩的最后一塊是讓動(dòng)態(tài)生成的 Linq 工作。我已經(jīng)研究了LinqKit和Dynamic Expressions,我對(duì)如何解決這個(gè)問(wèn)題感到有些困惑。我目前正在使用 Dynamic Linq 擴(kuò)展,但收效甚微。它似乎可以很好地處理 Varchar 和 Int 字段,但它在處理日期時(shí)會(huì)出錯(cuò)。我像這樣使用它:public class Search{    [DataMember(Name = "value")]    public string Value { get; set; }    [DataMember(Name = "regex")]    public string Regex { get; set; }    public string ToExpression(IList<Column> columns)    {        var list = columns.Select(column => $"{column.Data}.Contains.(@{columns.IndexOf(column)})").ToList();        return string.Join("or", list);    }}public class FilterExpression{    public string Filter { get; }    public IEnumerable<object> Values { get; }    public FilterExpression(IEnumerable<Column> columns, Search search)    {        if (search.Value == null) return;        var list = columns.Where(n => n.Searchable).ToList();        Filter = ToExpression(list);        Values = list.Select(n => search.Value);    }    private static string ToExpression(IEnumerable<Column> columns)    {        var colList = columns.Where(n => n.Searchable).ToList();        var list = colList.Select(column => $"{column.Data}.ToString().Contains(@{colList.IndexOf(column)})").ToList();        return string.Join(" or ", list);    }}public static IQueryable Where(this IQueryable source, FilterExpression filterExpression){    return filterExpression?.Values == null ? source : source.Where(filterExpression.Filter, filterExpression.Values.ToArray());}以上適用于大多數(shù)情況,但再次日期有點(diǎn)問(wèn)題。目標(biāo)是防止開發(fā)人員必須手動(dòng)編寫他們的 LinqWhere語(yǔ)句,而是允許適配器簡(jiǎn)單地生成它。同樣,上述內(nèi)容適用于 INT 字段和 VARCHAR,但如果我在模型中包含一個(gè) DATE 字段,我得到的錯(cuò)誤是: System.NotSupportedException: 'LINQ to Entities does not recognize the method 'System.String ToString()' method, and this method cannot be translated into a store expression.'
查看完整描述

1 回答

  • 1 回答
  • 0 關(guān)注
  • 114 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)