linq to entity之字串比較

2022-02-17 10:08:39 字數 910 閱讀 5423

剛做到這塊,有涉及到字串比較問題。linq to entity 是不支援像sql語句中的兩個字串的比較的

比如sql:select * from  aaa where aa.name>'a001' and aa.name<'b001'

遇到這個情況如何處理呢

在寫linq的時候 開始的想法就這樣

using

(xtdbentities edm

=new

xtdbentities())

但是聰明的你會發現這個編譯是不能通過的。那怎麼辦呢

通過簡單的 「點」發現 居然有個compareto這個擴充套件方法 那我們看看他的定義

public int compareto(string strb)

system.string 的成員

摘要:將此例項與指定的 system.string 物件進行比較,並指示此例項在排序順序中是位於指定的 system.string 之前、之後還是與其出現在同一位置。

引數:strb: system.string。

返回值:

乙個 32 位有符號整數,該整數指示此例項在排序順序中是位於 value 引數之前、之後還是與其出現在同一位置。 值 條件 小於零 此例項位於 strb 之前。 零 此例項在排序順序中的位置與 strb 相同。 大於零 此例項位於 strb 之後。 - 或 - strb 為 null。

有了這個就好辦多了

那我們就將上面的那句話改造一下

return edm.xt_card.count(s => s.cardnum.compareto(startcode) >= 0 && s.cardnum.compareto(endcode) <= 0);

這樣就達到了sql中的大於,小於。以及使用的between...and的效果

Linq to Entity 執行儲存過程

1.在model中建立儲存過程model,將儲存過程與實體進行對映,名稱為儲存過程名 result 其中的屬性是儲存過程的返回值 create procedure ten most expensive products as set rowcount 10 select products.produ...

Linq to entity 3 5 左聯接問題

在linq to sql 中左聯接可以這麼寫 from q1 in table1 join q2 in table2 on q1.col equals q2.col into tem table from q3 in tem table.defaultifempty select new 但是在li...

Linq To Entity經驗 如何解決按需所取

已經有一陣沒有寫部落格了,並不是不想寫,只不過最近的專案實在事太多沒時間總結,最近專案客戶提到了 效能問題,這讓我不得不反思自己在專案中應entityframework是不是有些地方應該可以優化的。常見問題 1 entityframework如何在dbmodel 資料庫模型 與doaminmodel...