【EF core】App.config 的配置
1、添加 App.Config 文件,并且配置数据库的相对位置
<?xml version="1.0" encoding="utf-8" ?> <configuration> <connectionStrings > <!--点号 表示相对目录 --> <add name="SqliteConnection" connectionString="Data Source=.\Resources\Data\text.db;" providerName="system.Data.SQLite"/> </connectionStrings> </configuration>
当出现这种错误,是路径未生成生成, Debug问价夹 下Resources\Data 下是否存在 这两个文件夹。
2、EF core 的DbContext中配置如下:
using Microsoft.Data.Sqlite; using Microsoft.EntityFrameworkCore; using System; using System.Collections.Generic; using System.Configuration; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace IndividualQAlibrary.MVVM.Models { internal class TestDataContext:DbContext { public DbSet<Programming> Programmings { get; set; } string connectionString; public TestDataContext() { connectionString = ConfigurationManager.ConnectionStrings["SqliteConnection"].ConnectionString; } protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { base.OnConfiguring(optionsBuilder); var builder = new SqliteConnectionStringBuilder(connectionString); optionsBuilder.UseSqlite(connectionString); } protected override void OnModelCreating(ModelBuilder modelBuilder) { base.OnModelCreating(modelBuilder); } } }
3、实体
using System; using System.Collections.Generic; namespace IndividualQAlibrary.MVVM.Models; public partial class Programming { public int? Id { get; set; } public string? Questiontype { get; set; } public string? Content { get; set; } public int? Numberoferrors { get; set; } public string? Answer { get; set; } public string? Classify { get; set; } public string? Creationtime { get; set; } public string? Remark { get; set; } }
4、wpf 窗体代码
using IndividualQAlibrary.MVVM.Models; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Shapes; namespace IndividualQAlibrary.MVVM.Views { /// <summary> /// QAlibraryView.xaml 的交互逻辑 /// </summary> public partial class QAlibraryView : Window { public QAlibraryView() { InitializeComponent(); } private void Button_Click(object sender, RoutedEventArgs e) { TestDataContext test = new TestDataContext(); test.Database.EnsureCreated(); } } }
点击按钮后生成数据库
5、生成 数据库
编程是个人爱好
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
2022-03-26 【C# XML 】DTD(Document Type Definition):文档类型定义
2022-03-26 【知识图谱】 本体论
2022-03-26 【知识图谱】开篇