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 + "%'");