我正在使用SQLite构建WinRT应用程序。
我在C#代码中运行以下方法,以便检索具有相同Parent ID的表ProductSubCategory
中的所有列
我使用的是最新版本的SQLite.Net和SQLITE.NET.ASync
public async Task<IEnumerable<ProductSubCategory>> GetProductSubCategoryAsync(int ParentCategoryId)
{
List<ProductSubCategory> lst = new List<ProductSubCategory>();
var DBconn = await _sqliteService.OpenSQLiteConnection();
{
//retrive test data
lst = await DBconn.Table<ProductSubCategory>().Where(c=>c.ParentSubCategoryId==ParentCategoryId).ToListAsync();
}
return lst;
}
班级定义:
public class ProductCategory:ObservableObject
{
[PrimaryKey]
public int ProductCategoryId { get; set; }
public string Name { get; set; }
public string RowGuid { get; set; }
public DateTime ModifiedDate { get; set; }
}
当代码执行时,它会根据过滤器返回正确数量的记录,但不会返回所有返回字段值。
例如,所有我的INT类型的表字段以及主键都没有在我的对象中更新。
有什么理由和解决方案让它发挥作用?我需要检索所有这些列数据。
是否取决于字段的创建方式?
答案 0 :(得分:0)
我设法找出问题所在。 我的表数据库列字段未返回数据,名为 ProductCategoryID ,我的对象名称为 ProductCategoryId
这意味着何时从DB获取字段,字段名称区分大小写,但奇怪的是,如果您的插入数据不是。
我只是将我的表字段名称重命名为ProductCategoryID,现在我正确地获取数据