我正在研究SQLite - .net(https://github.com/praeclarum/sqlite-net),以便为我的项目添加本地存储。
我想出了几个问题:
表格是按 模型 创建的,然后为了创建表格,应使用此代码:
var db = new SQLiteConnection("foofoo");
db.CreateTable<Stock>();
db.CreateTable<Valuation>();
问题是,在MVVM方法中,这将被写入? 我想过bootstrapper.cs,但我不太确定它有多有效。
在其中一个示例中,这是某个模型的示例代码:
public class Valuation
{
[PrimaryKey, AutoIncrement]
public int Id { get; set; }
[Indexed]
public int StockId { get; set; }
public DateTime Time { get; set; }
public decimal Price { get; set; }
}
[Indexed]
语句是否仅将 应用于StockId
,还是应用于所有三个StockId
,Time
和Price
?< / p>
答案 0 :(得分:0)
数据服务!只需创建一个DataService类。将它传递给数据库或查找配置。让构造函数创建SQLiteConnection,创建表,添加任何默认数据。
如果您使用的是IOC容器,则可以注册DataService以在ViewModel中使用。考虑使用设置为True的create immediate标志进行注册,以便立即初始化数据库。
抱歉,我目前没有一个有效的例子。