在VB中使用Linq To SQLite注意事项

昨天使Linq To SQLite 支持VB,今天在VB中写了几条Linq语句,发现了几个问题:

1、在Linq To SQLite中的Linq语句查询后并不是得到的匿名数据类,而是将Linq转换为SQL语言?例如:

Dim tempProvince = From cust In db.AddressProvinces
Select cust

执行后得到的tempProvince并不是一个匿名数据类,而是:

在VB中使用Linq To SQLite注意事项

所以,Linq To SQlite查询执行后的结果不能直接绑定控件,而是要.ToList后才能绑定。

cmbProvince.DisplayMember = "ProvinceName"
cmbProvince.ValueMember = "ProvinceID"
cmbProvince.DataSource = tempProvince.ToList

2、在Linq To SQLite中使用“Where”语句查询特定的字符串值,不能使用“=”,而是要使用“IS”。例如:

Dim tempCity = From cust In db.AddressCities
Where cust.ProvinceID = cmbProvince.SelectedValue
Select cust

是会执行错误的,而是要修改为:

Dim tempCity = From cust In db.AddressCities
Where cust.ProvinceID Is cmbProvince.SelectedValue
Select cust

3、Like语句好像是不能使用的,只有转换为“.ToString.Contains()”。例如:

 Dim temp = From cust In db.AddressDistricts
Where cust.DistrictName.ToString.Contains("区")
Select cust

4、其他问题待发掘。

上一篇:web大文件上传控件-设置附加参数-Xproer.HttpUploader6


下一篇:转 【O2O案例】汽车后市场垂直化电子商务:平业模式解析