gpt4 book ai didi

c# - LINQ 混淆 - 数据库在应用程序关闭后不持久存在?

转载 作者:搜寻专家 更新时间:2023-10-30 19:42:31 25 4
gpt4 key购买 nike

我正在用 C# 制作一个 WinForms 应用程序。当我去创建我的数据库对象时,我看到了两个选项:

  • 本地数据库
  • 基于服务的数据库

我只需要一个简单的本地数据库来用于我的项目。

但是,如果我选择“本地数据库(精简版)”,那么在我创建表并将它们拖到 LINQ-To-SQL 类创建器后,它会显示:

The selected object(s) use an unsupported data provider.

所以,我不知道为什么在将表拖到对象关系设计器时创建本地数据库会被视为不受支持的提供程序。

所以,我尝试了第二种类型,“基于服务的数据库”。我按照我想要的基本应用程序布置表格并制作表格。当我拖动这些表并继续在我的应用程序中编写代码以插入和更新数据库条目时,LINQ-To-SQL 设计器工作正常。

但是,对于第二个“基于服务的数据库”,只要应用程序正在运行,我的插入和更新就会工作。但是,一旦我关闭它,它就会恢复到以前的状态。如果我通过服务器资源管理器手动添加数据,它会持续存在,但我所做的任何插入都不会保存。

为什么我不能使用 LINQ 创建和使用本地数据库?

如果这不是一个选项,那么为什么“基于服务的数据库”(不管是什么)在应用程序关闭后仍然存在?

感谢您的宝贵时间!


编辑:显然,LINQ-To-SQL 对象设计器不适用于精简版本地数据库。它仍然可以完成,但显然您必须使用 SqlMetal 来生成 dmbl 文件。

最佳答案

编译时,旧数据库会被删除,新数据库会复制到 bin 文件夹中。因此尝试链接(使用 linq)到 bin 文件夹中的数据库。尝试更改您的 connectionString。

关于c# - LINQ 混淆 - 数据库在应用程序关闭后不持久存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/790228/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com