WP8、SQL Compact Edition 或 Sqlite 使用什么



我是WP8(以及.net)的新手。我应该选择什么来在WP8,SQL CE或Sqlite中工作?

其次,如果我选择 Sqlite,那么 LINQ 是可能的(我应该使用)吗?

我已经浏览了许多链接,但没有得到确切的答案。

我开始使用 Sqlite(Nuget 项目)尝试一些示例,并使用 Sqlite 发现,我不需要使用创建/删除类型的查询,它也将有助于插入。那么我应该使用 LINQ 而不是这些功能吗?

@Edit:添加了示例代码来说明我的观点示例代码

public class Product
{
    public int ProductID { get; set; }
    public string ProductName { get; set; }
    public string Category { get; set; }
    public decimal UnitPrice { get; set; }
    public int UnitsInStock { get; set; }
}
private void DbInterLinq()
{   
SQLite.SQLiteConnection conn = new SQLiteConnection(DB_PATH);
conn.CreateTable<Product>();
InsertSampleinDB(conn);
GetDataFromDb(conn);
}
现在在

代码中,我可以在数据库中插入数据,现在我想使用选择查询,这将仅获得产品名称大于 10 个字符的产品。

谢谢。

愿这会对你有所帮助。下面是从产品集合中仅获取名称超过 10 个字符的产品的查询:

 private void SelectFromDb()
    {   
    SQLite.SQLiteConnection conn = new SQLiteConnection(DB_PATH);
    //conn.CreateTable<Product>();
    //InsertSampleinDB(conn);
    List<Product> myProducts = conn.Table<Product>().ToList().Where(x => x.Name.Length > 10);
    }

我认为您对 LINQ 的意思实际上是实体框架的使用。LINQ 只是一种以压缩查询样式编写条件和循环的方法。您可以在代码中的任何地方使用它,它根本不绑定到数据库引擎。

实体框架允许您从数据库创建实际对象。现在,每当您在运行时添加或删除其中一个对象时,此更改都会反映在您的数据库中,因此您需要处理任何 SQL 字符串。

你可以很容易地使用SQLite和实体框架,有一些很好的教程,一如既往,谷歌是你的朋友。由于它是.net框架支持的功能,因此它应该像WP8上的魅力一样工作。

要从产品集合中仅获取名称超过 10 个字符的产品,请执行以下操作:

List<Product> myProducts = ProductList.Where(x => x.Name.Length > 10);

最新更新