在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、其他问题待发掘。

 

 

 

 

 

 

你可能感兴趣的:(sqlite)