草庐IT

c# - 在 appdata 文件夹中创建 sql server 压缩文件

我正在开发一个简单的软件,它首先使用EntityFramework代码和sqlservercompact4。目前这个设置有效。EntityFramework创建sqlserver压缩文件(如果尚不存在)。数据库的路径是从存储在app.config文件中的连接字符串中定义的。它是这样构建的:但是,我想将数据库放在当前用户的应用程序数据文件夹(我的win7机器上的C:\Users\User\AppData\Roaming文件夹)中的一个文件夹中。我已经尝试将连接字符串的数据源设置为类似%APPDATA%\Database.sdf的内容,但这不起作用,我收到“路径中的非法字符”异常。我想坚持

c# - 批量插入Sql Server百万条记录

我有一个Windows服务应用程序接收具有以下格式的数据流IDX|20120512|075659|00000002|3|AALI|AstraAgroLestariTbk.|0|ORDI_PREOPEN|12|00000001550.00|00000001291.67|00001574745000|00001574745000|00500|XDS1BXO1||00001574745000|›§IDX|20120512|075659|00000022|3|ALMI|AlumindoLightMetalIndustryTbk.|0|ORDI|33|00000001300.00|0000000

c# - Entity Framework 的子查询

我正在将一个子系统从NHibernate移植到EntityFramework并希望了解将以下查询移植到EF的最佳方法。vardate=DateTime.Now;//ItcanbeanydayAccountBalanceByDateabbd=null;varlastBalanceDateByAccountQuery=QueryOver.Of().Where(x=>x.AccountId==abbd.AccountId&&x.Date(x=>x.Date));varlastBalances=session.QueryOver(()=>abbd).WithSubquery.WhereProp

c# - 如何在 Sql Server Compact Edition 中使用 LIKE 参数

我正在尝试参数化使用带通配符的LIKE关键字的搜索查询。原来的sql有这样的动态sql:"ANDJOB_POSTCODELIKE'"+isPostCode+"%'"所以我尝试了这个,但是我得到了一个FormatException:"ANDJOB_POSTCODELIKE@postcode+'%'"编辑:我猜FormatException不会来自SqlServerCE,所以按照要求,这是我在C#代码中设置参数的方法。参数在代码中设置如下:command.Parameters.Add("@postcode",SqlDbType.NVarChar).Value=isPostCode;我也试过

c# - 林克到 SQL : Sort Query by Arbitrary Property(Column) Name

我有一个更大/更复杂的问题,但为了简单起见,让我们考虑以下问题:假设我在SQL数据库中有一个名为Product的表,它有两列,ID(int,primary键)和名称(varchar/string)。我还有一个简单的LINQDataContext。我构造了一个查询并将其交给“我的”函数。让我们假设它是这样的:(虽然它可能有点复杂)IQueryablequery=frompindb.Productsselectp;一旦我的方法得到这个查询,作为参数传入,它必须更改排序顺序,例如IQueryablesortedQuery=query.OrderBy(x=>x.Name);我想让它更通用,即指

c# - 在数据库中保留数据更改的历史记录

数据库中某行数据的每次更改都应将前一行数据保存在某种历史记录中,以便用户可以回滚到前一行数据状态。这种方法有什么好的做法吗?尝试使用DataContract以及序列化和反序列化数据对象,但它对复杂对象变得有点困惑。所以更清楚:我正在使用NHibernate进行数据访问并希望远离数据库依赖性(用于使用SQLserver2005进行测试)我的目的是提供数据历史记录,以便用户每次都可以回滚到某些以前的版本。用法示例如下:我有一篇新闻文章有人对该文章进行了一些修改主编看到这条新闻有错别字它决定回滚到以前的有效版本(直到更正最新版本)我希望我给了你有效的信息。 最佳答

c# - 我可以请求 SQL Server 缓存某个结果集吗?

某个查询正在从ASP.NET页面调用。我在ManagementStudio中研究了该查询的执行计划,87%用于排序。我非常需要排序,否则显示的数据将毫无意义。我是否可以请求SQLServer缓存排序的结果集,以便在后续运行中更快地返回数据?或者SQLServer是否足够智能来进行缓存处理,如果可能的话,我试图强制它缓存结果是不是犯了错误?任何相关信息将不胜感激,并提前致谢:)更新:我刚刚在一篇文章中读到,使用聚簇索引创建View会提高性能,因为索引会将View中的数据持久保存到磁盘。这是真的?我该怎么做?有文章吗? 最佳答案 虽然您

c# - 在 LinQ Lambda 表达式中连接两个列值

我是LinQ的新手,那些lambda对我来说似乎很棘手:(我有一个表,其中有两列。名字和姓氏。我正在使用LinQ填充gridview。protectedvoidPage_Load(objectsender,EventArgse){myLinQtoSQLClassDataContextobjDataContext=newmyLinQtoSQLClassDataContext();varallUserList=fromCurrentUserinobjDataContext.Users.Where(c=>c.Is_Deleted!=false)selectnew{CurrentUser.Fi

c# - 我如何将参数添加到 Entity Framework 原始 sql 命令

如何向以下EntityFramework原始SQL命令添加参数?例如,如果我想让Id成为参数怎么办?using(varcontext=newNorthwindDBEntities()){context.Database.ExecuteSqlCommand(@"UPDATEdbo.CustomersSETName='Test'WHEREId=1");} 最佳答案 context.Database.ExecuteSqlCommand(@"UPDATEdbo.CustomersSETName='Test'WHEREId=@Id",newS

c# - 将安全的 SQL 语句创建为字符串

我正在使用C#和.NET3.5。我需要生成并存储一些稍后将在远程服务器上执行的T-SQL插入语句。例如,我有一个员工数组:newEmployee[]{newEmployee{ID=5,Name="FrankGrimes"},newEmployee{ID=6,Name="TimO'Reilly"}}我需要得到一个字符串数组,如下所示:"INSERTINTOEmployees(id,name)VALUES(5,'FrankGrimes')","INSERTINTOEmployees(id,name)VALUES(6,'TimO''Reilly')"我正在查看一些使用String.Forma