Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# LINQ混乱-应用程序关闭后数据库未持久化?_C#_Sql Server_Database_Linq - Fatal编程技术网

C# LINQ混乱-应用程序关闭后数据库未持久化?

C# LINQ混乱-应用程序关闭后数据库未持久化?,c#,sql-server,database,linq,C#,Sql Server,Database,Linq,我正在用C#制作一个WinForms应用程序。当我去创建数据库对象时,我会看到两个选项: 本地数据库 基于服务的数据库 我想要的只是一个简单的本地数据库,用于我的项目 但是,如果我选择“Local Database(Compact Edition)”,则在创建表并将其拖到LINQ to SQL类创建者处后,它会显示: 所选对象使用不受支持的数据提供程序 因此,我不知道为什么在将表拖到对象关系设计器时,创建本地数据库会被视为不受支持的提供者 因此,我尝试第二种类型,“基于服务的数据库”。我按照

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

  • 本地数据库
  • 基于服务的数据库
我想要的只是一个简单的本地数据库,用于我的项目

但是,如果我选择“Local Database(Compact Edition)”,则在创建表并将其拖到LINQ to SQL类创建者处后,它会显示:

所选对象使用不受支持的数据提供程序

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

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

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

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

如果这不是一个选项,那么为什么“基于服务的数据库”(不管是什么)不能在应用程序关闭之后持久化呢

谢谢你的时间



编辑:显然LINQtoSQL对象设计器在Compact Edition本地数据库上不起作用。仍然可以这样做,但显然必须使用SqlMetal生成dmbl文件。

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