标签: sql-server-ce

如何在SQL Server Compact Edition中进行此查询?

此子查询在SQL Server中有效:

select systemUsers.name, 
    (select count(id) 
     from userIncidences 
     where idUser = systemUsers.id ) 
from systemUsers
Run Code Online (Sandbox Code Playgroud)

如何在SQL Compact中创建?

谢谢!

sql sql-server sql-server-ce

2
推荐指数
2
解决办法
7224
查看次数

在sql server compact edition上执行Insert OR Update(upsert)

我有c#项目正在使用sqlserver压缩版和实体框架进行数据访问.我需要向db插入或更新大量5000+或更多的行,因此如果密钥存在,则更新记录(如果不插入).我无法找到一种方法来实现这一点与紧凑版和EF具有可怕的性能,即在核心i7计算机上花费2分钟.我已经尝试搜索记录,看它是否存在,然后插入,如果没有,或更新,如果它,搜索是杀手.我已经尝试编译搜索查询,但只做了一点改进.我尝试的另一件事是在try catch中插入记录,如果更新失败,但这迫使我在每条记录上保存更改以获得异常,而不是在最后是性能杀手.显然我不能使用存储过程,因为它是紧凑版.另外我看过只是在db上直接执行t-sql,但是在compact中缺少进程语句似乎排除了这一点.我在全世界范围内搜寻和思考.我真的想使用紧凑型,如果我可以过度表达部署的好处和能力,以防止用户挖掘数据库.任何建议将不胜感激.

谢谢

c# sql entity-framework upsert sql-server-ce

2
推荐指数
1
解决办法
2万
查看次数

LINQ EF不保存到数据库

我想这是我提出的最后一个问题的延续: 使用ADO.NET Entity Framework批量插入和更新.

我在插入时没有收到任何错误,但实际上没有数据进入我的数据库.我的DB是SDF文件(SQL CE).任何想法要检查什么?

我的app.config看起来像:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
  </configSections>
  <connectionStrings>
    <add name="Lab_Use_Billing.Properties.Settings.LabUseConnectionString" 
         connectionString="Data Source=|DataDirectory|\Models\LabUse.sdf" 
         providerName="Microsoft.SqlServerCe.Client.3.5" />
    <add name="LabUseEntities" 
         connectionString="metadata=res://*/Models.LabUseEntities.csdl|res://*/Models.LabUseEntities.ssdl|res://*/Models.LabUseEntities.msl;
                           provider=System.Data.SqlServerCe.3.5;
                           provider connection string=&quot;Data Source=|DataDirectory|\Models\LabUse.sdf&quot;" 
         providerName="System.Data.EntityClient" />
  </connectionStrings>
</configuration>
Run Code Online (Sandbox Code Playgroud)

TIA

c# entity-framework sql-server-ce

2
推荐指数
1
解决办法
1250
查看次数

NHibernate 3使用SQL Compact 4.0和FirstOrDefault()抛出NotSupportedException

我有一段相当简单的代码,可以从DB中检索对象.这似乎适用于SQL Server 2008,但随着SQL Server Compact的爆发.SQL Server CE支持TOP() - 这只是NHibernate 3中的一个错误吗?

码:

public override Profile GetProfileByName(string name)
{
    using (var tc = TC)
    {
        var query = from profiles in tc.Session.Query<Profile>()
                    where profiles.Name == name
                    select profiles;
        Profile profile = query.FirstOrDefault();
        tc.Commit();
        return profile;
    }
}
Run Code Online (Sandbox Code Playgroud)

NHibernate配置:

<property name="dialect">NHibernate.Dialect.MsSqlCeDialect</property>
<property name="connection.driver_class">NHibernate.Driver.SqlServerCeDriver</property>
Run Code Online (Sandbox Code Playgroud)

例外:

System.NotSupportedException occurred
  Message=Dialect does not support limits.
  Source=NHibernate
  StackTrace:
       at NHibernate.Dialect.Dialect.GetLimitString(SqlString queryString, Nullable`1 offset, Nullable`1 limit, Parameter offsetParameter, Parameter limitParameter)
  InnerException: 
Run Code Online (Sandbox Code Playgroud)

linq nhibernate sql-server-ce

2
推荐指数
1
解决办法
1497
查看次数

找不到SQL Server compact 3.5命名空间

我想使用SQL Server compact 3.5,但intellisense没有显示 System.Data.SqlServerCe名称空间..它说type or namespace 'SqlServerCe' does not exist in 'System.Data' namespace (are you missing any Assembly reference?)

需要引用哪个程序集?

或者我是否需要使用任何其他命名空间来使用SQL Server Compact 3.5?

我安装了Sql Server 2005 Standard和Express,以及VC#2010.

请提供一些参考链接以使用SQL Server CE 3.5 ..

c# sql-server-2005 sql-server-ce

2
推荐指数
1
解决办法
4759
查看次数

Fluent Nhibernate - 如何在SQL CE 4中自动生成表时指定表模式

我使用SQL CE作为运行本地和CI集成测试的数据库(通常我们的站点在普通的SQL服务器上运行).我们正在使用Fluent Nhibernate进行映射,并使用它从Mapclasses创建我们的模式.只有两个类之间有一对多的关系.在我们的真实数据库中,我们使用非dbo模式.在我将模式名称添加到Table()方法之前,代码首先不能与此真实数据库一起使用.然而,这样做打破了错误的单元测试...

System.Data.SqlServerCe.SqlCeException : There was an error parsing the query. [ Token line number = 1,Token line offset = 26,Token in error = User ]
Run Code Online (Sandbox Code Playgroud)

这些是类和associatad MapClasses(当然简化)

    public class AffiliateApplicationRecord
{
    public virtual int Id { get; private set; }
    public virtual string CompanyName { get; set; }
    public virtual UserRecord KeyContact { get; private set; }

    public AffiliateApplicationRecord()
    {
        DateReceived = DateTime.Now;
    }

    public virtual void AddKeyContact(UserRecord keyContactUser)
    {
        keyContactUser.Affilates.Add(this);
        KeyContact = keyContactUser;
    }
}

public class …
Run Code Online (Sandbox Code Playgroud)

nhibernate fluent-nhibernate sql-server-ce

2
推荐指数
1
解决办法
5481
查看次数

使用SQL Server数据库的C#应用​​程序

这听起来可能是一个愚蠢的问题,但我真的花了好几个小时试图寻找解决方案......

我在SQL Server上有一个本地数据库,它与C#应用程序一起使用.我查看数据库的唯一方法是通过SQL Server ..当我在我的开发PC上运行应用程序时,它可以在我的应用程序中访问和更改,但是当我在另一台PC上运行它时,找不到数据库(很明显).我在编译程序时如何包含数据库源代码(以便在我在其他PC上运行时也能找到它)?

最初我使用SQL Server CE并且实现了可移植性,但是我必须包含存储过程,而且这个版本不接受它们:/所以我不得不把注意力转向后一种类型.

对不起我糟糕的英语!:(

提前致谢

c# sql-server-2008 sql-server-ce visual-studio

2
推荐指数
1
解决办法
761
查看次数

sql - SQL compact上的嵌套选择

我有以下小问题产生解析错误.我正在尝试选择一组玩家ID,然后选择那些玩家ID的数据.

我的问题是,在SQL compact中使用嵌套选择的正确方法是什么?

"SELECT FIRSTNAME, LASTNAME, GRADE, WON, LOST, SKILL 
 FROM player 
 WHERE ID = (SELECT player1 
             FROM temp_table 
             WHERE school = 0)"
Run Code Online (Sandbox Code Playgroud)

sql sql-server-ce

2
推荐指数
1
解决办法
628
查看次数

如何在Delphi中创建SQL Server CE数据库?

我在C#中编写了一个应用程序,它将数据存储在SQL Server CE数据库(v3.5)中.我想从Delphi应用程序中使用这些数据.我找到了有关如何从Delphi代码访问SDF文件的信息,因此这部分简洁明了.

不幸的是,有些情况下Delphi应用程序应该能够首先创建SDF文件.我想我需要在C#(DataContext子类)中编写ORM DLL并从两个应用程序(从Delphi到COM Interop)使用它,但我不确定这是个好主意.任何建议将不胜感激.

(我有Delphi 6和XE2.)

c# delphi sql-server-ce

2
推荐指数
1
解决办法
2684
查看次数

C#/ SQLCE CREATE TABLE以编程方式(自动增量+主键)

我试图以编程方式在SQL CE数据库中创建一个表.目前,我使用以下查询 - 虽然我收到错误;

string command = @"CREATE TABLE CONNECTION(" +
                  "connection_id INTEGER IDENTITY(1,1) PRIMARY KEY, " +
                  "host NVARCHAR(255), port INT, key NVARCHAR(50), " +
                  "last_used NVARCHAR(15));";
Run Code Online (Sandbox Code Playgroud)

我得到的错误是:

解析查询时出错.[令牌行号= 1,令牌行偏移= 104,令牌错误=键]

我似乎无法弄清楚我做错了什么.我习惯MySQL,查询略有不同.

c# sql sql-server-ce

2
推荐指数
1
解决办法
9443
查看次数