跳到主要内容

github/tai

公开

Tai · Windows 软件与网站使用时长统计。上游 Planshit/Tai 的源码镜像,非灵栈原创;MIT 许可。来源:https://github.com/Planshit/Tai 。本次为手动同步,暂不提供安装包。

浏览文件

TaiDbContext.cs

69 行 · 2.0 KB历史下载
1using Core.Models;
2using Core.Models.Db;
3using System;
4using System.Collections.Generic;
5using System.Data.Entity;
6using System.Data.SQLite;
7using System.Diagnostics;
8using System.IO;
9using System.Linq;
10using System.Text;
11using System.Threading.Tasks;
12
13namespace Core.Librarys.SQLite
14{
15 public class TaiDbContext : DbContext
16 {
17 /// <summary>
18 /// 每日数据
19 /// </summary>
20 public DbSet<DailyLogModel> DailyLog { get; set; }
21 /// <summary>
22 /// 时段数据
23 /// </summary>
24 public DbSet<HoursLogModel> HoursLog { get; set; }
25 public DbSet<AppModel> App { get; set; }
26 /// <summary>
27 /// 分类
28 /// </summary>
29 public DbSet<CategoryModel> Categorys { get; set; }
30 /// <summary>
31 /// 网站
32 /// </summary>
33 public DbSet<WebSiteModel> WebSites { get; set; }
34 /// <summary>
35 /// 网站分类
36 /// </summary>
37 public DbSet<WebSiteCategoryModel> WebSiteCategories { get; set; }
38 /// <summary>
39 /// 网页浏览记录(每小时)
40 /// </summary>
41 public DbSet<WebBrowseLogModel> WebBrowserLogs { get; set; }
42 /// <summary>
43 /// 网页链接
44 /// </summary>
45 public DbSet<WebUrlModel> WebUrls { get; set; }
46
47 private static string _dbFilePath = Path.Combine(FileHelper.GetRootDirectory(), "Data", "data.db");
48 public TaiDbContext()
49 : base(new SQLiteConnection()
50 {
51 ConnectionString = $"Data Source={_dbFilePath}",
52 BusyTimeout = 60
53 }, true)
54 {
55 DbConfiguration.SetConfiguration(new SQLiteConfiguration());
56 }
57
58 protected override void OnModelCreating(DbModelBuilder modelBuilder)
59 {
60 var model = modelBuilder.Build(Database.Connection);
61 new SQLiteBuilder(model).SelfCheck();
62 }
63
64 public void SelfCheck()
65 {
66 Database.ExecuteSqlCommand("select count(*) from sqlite_master where type='table' and name='tai'");
67 }
68 }
69}