【发布时间】:2009-04-26 04:17:22
【问题描述】:
我正在用 C# 制作一个 WinForms 应用程序。当我去创建我的数据库对象时,我看到了两个选项:
- 本地数据库
- 基于服务的数据库
我想要的只是一个用于我的项目的简单本地数据库。
但是,如果我选择“本地数据库(精简版)”,那么在我创建表并将它们拖到 LINQ-To-SQL 类创建器之后,它会显示:
所选对象使用不受支持的数据提供程序。
所以,我不知道为什么在将表拖到对象关系设计器时,创建本地数据库会被视为不受支持的提供程序。
所以,我尝试了第二种类型,“基于服务的数据库”。我按照我想要的基本应用程序布置我的表格并制作我的表格。当我拖动这些表并继续在我的应用程序中编写代码以插入和更新数据库条目时,LINQ-To-SQL 设计器工作正常。
然而,有了第二个“基于服务的数据库”,只要应用程序正在运行,我的插入和更新就可以工作。但是,一旦我关闭它,它就会恢复到以前的状态。如果我通过服务器资源管理器手动添加数据,它会持续存在,但我不会保存任何插入。
为什么我不能通过 LINQ 创建和使用本地数据库?
如果这不是一个选项,那么为什么“基于服务的数据库”(无论是什么)在应用程序关闭后不继续存在?
感谢您的宝贵时间!
编辑:显然 LINQ-To-SQL 对象设计器不适用于精简版本地数据库。它仍然可以完成,但您显然必须使用 SqlMetal 来生成 dmbl 文件。
【问题讨论】:
标签: c# sql-server database linq