草庐IT

insert_at_end

全部标签

c# - LINQ to SQL insert-if-non-existent

我想知道是否有更简单的方法来插入表中尚不存在的记录。我仍在努力培养我的LINQtoSQL技能。这是我得到的,但似乎应该有更简单的方法。publicstaticTEntityInsertIfNotExists(DataContextdb,Tabletable,Funcwhere,TEntityrecord)whereTEntity:class{TEntityexisting=table.SingleOrDefault(where);if(existing!=null){returnexisting;}else{table.InsertOnSubmit(record);//Can'tuse

c# - 执行大量并发 INSERT 时如何避免 "Violation of UNIQUE KEY constraint"

我正在执行许多并发SQLINSERT语句,这些语句在UNIQUEKEY约束上发生冲突,即使我也在单个事务中检查给定键的现有记录。我正在寻找一种方法来消除或最大限度地减少我遇到的碰撞数量,同时又不会损害性能(太多)。背景:我正在开发一个ASP.NETMVC4WebApi项目,该项目接收大量对INSERT记录的HTTPPOST请求。它每秒收到大约5K-10K请求。该项目的唯一职责是删除重复数据和汇总记录。写起来很重;它的读取请求量相对较小;所有这些都使用带有IsolationLevel.ReadUncommitted的事务。数据库架构这是数据库表:CREATETABLE[MySchema]

c# - "Cannot insert explicit value for identity column in table when IDENTITY_INSERT is set to OFF"带复合键

我们最近向我们的数据库添加了一个新的“级别”——在整个数据库中的表中现有ID身份字段的上方/之前添加了一个键“Company_ID”。例如,如果一个表有ID然后是字段,它现在有Company_ID,然后是ID,然后是字段。这个想法是,这允许ID为提供给功能的每个不同的Company_ID值自动递增(Company_ID1可以有ID1、2、3等;Company_ID2可以有ID1、2、3等)。自增字段保持为ID。一个示例表是:[dbo].[Project]([Company_ID][int]NOTNULL,[ID][int]IDENTITY(1,1)NOTNULL,[DescShort]

c# - Visual Studio : Automatically insert a space after typing if(

我们有一个代码风格检查器,它在每次checkin之前运行,要求C#if语句的格式如下:if(condition)但是,我的肌肉内存力已经可以打字了:if(condition)有什么方法可以让VisualStudio2010在我键入没有空格的情况下自动插入该空格?我知道你可以设置它,当你粘贴代码时,它会自动执行此操作,但不会在键入时自动执行。谢谢! 最佳答案 工具>选项>文本编辑器>C#>格式化>间距然后选中/勾选Insertspaceafterkeywordsincontrolflowstatements,它列在Setothersp

c# - 我怎样才能让 VS2010 insert using statements 按照 StyleCop 规则规定的顺序

相关的默认StyleCop规则是:将using语句放在namespace中。按字母顺序对using语句进行排序。但是...Systemusing排在第一位(仍在尝试弄清楚这是否意味着只是usingSystem;或using系统[.*];).所以,我的用例:我发现了一个错误并决定我至少需要添加一个可理解的断言,以减轻下一个人调试的痛苦。所以我开始输入Debug.Assert(并且intellisense将其标记为红色。我将鼠标悬停在Debug上以及usingSystem.Diagnostics;和System.Diagnostics.Debug我选择前者。这会在所有其他using语句之后

c# - IDENTITY INSERT 和 LINQ to SQL

我有一个SQLServer数据库。该数据库有一个名为Item的表。项目有一个名为“ID”的属性。ID是我表上的主键。这个主键是一个增量值为1的整数。当我尝试插入记录时,我收到一条错误消息:Cannotinsertexplicitvalueforidentitycolumnintable'Item'whenIDENTITY_INSERTissettoOFF.".我正在尝试使用以下代码插入记录:publicintAddItem(Itemi){try{intid=0;using(DatabaseContextcontext=newDatabaseContext()){i.CreatedOn=

c# - 哪些场景会触发 Application_End 事件?

Asp.net有一个Application_End事件,它在应用程序结束时发生,如下所示voidApplication_End(objectsender,EventArgse){}我的问题如下:这个事件是什么时候真正发生的,即什么样的情况会触发它?假设我有一个运行24x7x365的银行Web应用程序,它连续执行并一次从数千个地方访问,那么这个Application_End事件会在什么时候发生?什么样的情况会导致这种情况? 最佳答案 Application_End事件在IIS池被回收或当您更改bin文件夹或web.config文件时被

c# - UInt64 和 "The operation overflows at compile time in checked mode"- CS0220

这感觉像是一个愚蠢的问题,但我似乎看不到答案。我有一个UInt64,它的最大值应该是UInt64.MaxValue18446744073709551615但是,当我尝试分配一个中等大小的数字时,出现“在检查模式下编译时操作溢出”的溢出错误。如果我将它包装在一个“未经检查”的block中,那么它会编译并运行,就像这个变量为零一样:UInt64value1=1073741824*8;//CompileerrorCS0220UInt64value2=8589934592;//Actualvalue-noerror为什么会这样? 最佳答案

C# 窗口应用程序 : "MyApplication.vshost.exe" Continuous coming at task manager

在我的c#windows应用程序中,每当我在visualstudio2008中打开我的解决方案时,“MyApplication.vshost.exe”总是在窗口任务管理器-->进程选项卡中可见。当我试图杀死它时,它再次出现在“进程”选项卡上。我没有得到vshost.exe创建的内容?为什么它没有从任务管理器中删除?我们如何删除它? 最佳答案 VS2005引入了vshost.exe功能。它的主要目的是使调试启动更快-基本上已经有一个框架正在运行的进程,只要您希望它就可以加载您的应用程序。参见thisMSDNarticle和thisbl

C# HttpRuntime.Cache.Insert() 不持有缓存值

我正在尝试使用HttpRuntime.Cache.Insert()来缓存价格值,但在清除之前似乎只保留了几个小时或更长时间。我究竟做错了什么?我希望该值在缓存中保留3天。HttpRuntime.Cache.Insert(CacheName,Price,null,DateTime.Now.AddDays(3),TimeSpan.Zero); 最佳答案 简答您的应用程序池或网站关闭得太早了。延长站点的空闲超时,延长运行该站点的池的应用程序池生命周期。提高内存分配和请求限制。完整答案如果您想知道什么时候以及为什么从缓存中删除某些内容,您需