天天看點

LINQ to Entity 動态查詢

LINQ to Entity動态查詢可以将查詢條件寫成一個字元串,然後由Entity Framework動态解析字元串構造成表達式樹,完成查詢,下面是幾個應用。

1、字元串條件

字元串條件可以直接将比較字元串放入雙引号中進行比較,例如:

builder.Append("it.RegisteredPerson = \"" + PersonTextBox.Text + "\"");
           

2、時間條件

時間條件需要對時間字元串利用DATETIME進行轉型,例如:

builder.Append("it.RegisteredTime >= DATETIME'" + DateFromPicker.SelectedDate.Value.ToString("yyyy-MM-dd HH:mm:ss") + "'");
           

這裡注意一點,時間日期格式有比較嚴格的限定,目前并不知道支援哪些時間日期格式,至少ToString的預設格式是不允許的,而”yyyy-MM-dd HH:mm:ss“是可行的。

3、字元串比對條件

LINQ to Entoty動态查詢本身支援了很多内置的函數,如LIKE等,利用這些函數可以完成複雜的查詢條件,例如:

builder.Append("it.Address LIKE '" + AddressComboBox.SelectedItem.Text + "%'");