我只是想确保我正确理解了文档。如果我在 Visual Studio 2008 项目中添加 System.Data.SqlServerCe 作为引用,对其进行编译,并将“bin\Release”目录的内容复制到具有最新版本的 .NET Framework 的 Windows 计算机上,是否可以只是工作?或者我需要做别的事情吗?
嗨,我正在尝试使用LINQ与SQL Server CE.我使用SqlMetal生成了dmbl文件,将其添加到项目中,还添加了对程序集的引用System.Data.SqlServerCe.dll
我的应用程序是基于.NET4.0的WPF,并且构建为x86.
在我的PC上安装了SQL Server CE.
我尝试了以下代码:
const string connStr = @"Spiri_SQL_CE_DB.sdf";
var dataContext = new Spiri_SQL_CE_DB(connStr);
var testNicks = dataContext.TestNick;
Run Code Online (Sandbox Code Playgroud)
但我得到这个错误:
无法打开'C:\ Users\Jan\Documents\Visual Studio 2010\Projects\C#\ Pokec_Messenger_Project\Pokec_Messenger\DB_TEST\Spiri_SQL_CE_DB.sdf'.未安装提供程序'System.Data.SqlServerCe.3.5'.
我错过了什么?对某些装配或其他东西的引用?
如果我在.NET3.5上重新定位应用程序它运行良好!
我通过创建模型创建了一个实体框架4.0应用程序.使用此技巧创建SQL Server Compact 4.0版数据库.
现在我完成了将初始数据导入数据库的所有代码(添加元素工作正常).但是,如果我尝试通过访问元素
Context context = new Context();
foreach (var c in context.Customers) // Exception
{
System.Diagnostics.Debug.Print(c.ToString());
}
Run Code Online (Sandbox Code Playgroud)
它在foreach循环的开头抛出一个异常:
[A]System.Data.SqlServerCe.SqlCeConnection cannot be cast to
[B]System.Data.SqlServerCe.SqlCeConnection. Type A originates from
'System.Data.SqlServerCe, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=89845dcd8080cc91' in the context 'Default' at location
'C:\Windows\assembly\GAC_MSIL\System.Data.SqlServerCe\4.0.0.0__89845dcd8080cc91\
System.Data.SqlServerCe.dll'. Type B originates from 'System.Data.SqlServerCe,
Version=3.5.1.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' in the context
'Default' at location 'C:\Windows\assembly\GAC_MSIL\System.Data.SqlServerCe\
3.5.1.0__89845dcd8080cc91\System.Data.SqlServerCe.dll'.
Run Code Online (Sandbox Code Playgroud)
我将这些引用添加到我的应用程序:
System.Data.Entity - 4.0
System.Data.SqlServerCe - 4.0
System.Data.SqlServerCe.Entity - 4.0
Run Code Online (Sandbox Code Playgroud)
有没有人有想法,我的配置有什么问题?
PS:我想使用SQL CE 4.0,因为计算值.如果我需要使用3.5,我需要改变我的架构(或者是否可以在上下文类中实现类似计算值的东西?).
我不能在 sql server CE 中使用 truncate 表(烦人)所以我使用:
drop table mytable
Run Code Online (Sandbox Code Playgroud)
但是,当我重新插入行时,ID 会从它们停止的地方开始。有没有办法从头开始重新启动Id?
我正在插入SQL Server CE表,其中主键是自动生成的,在插入完成后如何获取主键?
我有一个SQL Server CE 4.0数据库(.sdf文件),当我尝试从我的应用程序(WPF)对数据库进行查询时,我收到以下错误.
不兼容的数据库版本.如果这是兼容文件,请运行修复.对于其他情况,请参阅文档.[Db version = 4000000,Requested version = 3505053,File name = \?\ C:\ Database\ShortageReport\MRPDatabase.sdf]
app.config.我正在使用SQL Server Compact Toolbox生成上下文和映射.
我的app.config:
<connectionStrings>
<add name="DatabaseContext"
providerName="System.Data.SqlServerCe.4.0"
connectionString="Data Source=C:\Database\ShortageReport\MRPDatabase.sdf"/>
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
好的,我只是想把最后一条记录输入表中并从中获取一个特定的值.我一直在网上寻找一个可行的方法,以满足我的需求,但我尝试的一切都很短....
我一直在
解析查询时出错.[令牌行号=,令牌行偏移=,令牌错误=]
我最常见的查询是使用ORDER BY语句.
我的表格的键是"索引"而不是"ID"; 我一直在尝试简单的查询
SELECT *
FROM Departments
WHERE Valid = @validation
ORDER BY Index ASC
Run Code Online (Sandbox Code Playgroud)
但我得到一个错误,说"令牌错误=索引"
现在我有一个我需要运行的查询,它选择表中的最后一条记录并获取它的JobID,它与Index不同.所以我尝试了我的尝试和真实
SELECT TOP (1) *
FROM TableName
ORDER BY Index DESC
Run Code Online (Sandbox Code Playgroud)
通过这种方式,我也可以获得其他数据.但我得到相同的错误代码.
所以我试过了
SELECT MAX(Index)
FROM TableName
Run Code Online (Sandbox Code Playgroud)
同样的错误.
无论我尝试什么,它都不想通过索引选择,它被设置为主键,自动增量等....
我花了一天时间尝试将 Entity Framework 6 SQL Server CE 迁移到 PostgreSQL。
我已经很好地复制了数据库,但我似乎无法让数据提供程序正常工作。
首先,我尝试了旧版 2.2.7 版本的 EF 提供程序,它不需要 .NET 4.5(因为我们的项目无法使用它),但这不起作用。我一直在使用NpgsqlConnection而不是SqlConnectionStringBuilder更改 app.config 以具有连接字符串Host(我尝试过,Server但它不喜欢它)和Database值,并确保 EF 部分如下:
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
<providers>
<provider invariantName="Npgsql" type="Npgsql.NpgsqlServices, EntityFramework6.Npgsql" />
</providers>
</entityFramework>
Run Code Online (Sandbox Code Playgroud)
我现在忽略了这个限制,只是为了尝试让它工作,所以我有 EF 提供程序的 EF6 v3.1.1 版本和最新的 .NET 提供程序 (v3.2.2),但它们也不起作用。
为了修复它,我还尝试通过安装 VS2015 扩展将 EDMX 从 SQL Server CE 重新同步到 PostgreSQL 替换,但它只是给出一条消息,指出发生了错误,所以我尝试了以下操作:https://github.com/npgsql/npgsql/issues/1514 进一步打开了窗口,但当我在框中输入内容时就崩溃了。自从将项目升级到.NET 4.5后,这个提供程序就不再出现了......
我已经多次尝试重新安装所有内容并多次重新启动 VS,并且自从升级以来我还尝试安装 GAC 文件,因为不清楚 VS 扩展是否需要它们(也是 v3.2.2)。
有谁能够阐明如何最简单地实现所有这些工作,最好不需要 .NET 4.5?
谢谢
postgresql npgsql sql-server-ce entity-framework-6 visual-studio-2015
我有一个最初在VS2005中创建的C#windows mobile应用程序,用于创建测试数据库.但是,现在我已将C#代码包含到VS2008项目中并重新设置SQL引用,我收到以下错误:
未知模块中出现未处理的"System.TypeLoadException"类型异常.
附加信息:找不到文件或程序集名称'System.Data.SqlServerCe,Version = 3.5.0.0,Culture = neutral,PublicKeyToken = 3BE235DF1C8D2AD3'或其中一个依赖项.
参考路径似乎很好.有任何想法吗?
谢谢,
是否有Microsoft SQL Server CE 4的查询分析器或分析器?
sql-server-ce ×10
c# ×4
sql ×2
wpf ×2
.net ×1
dll ×1
linq ×1
linq-to-sql ×1
npgsql ×1
postgresql ×1
t-sql ×1