草庐IT

批量插入

全部标签

c# - .NET Entity Framework 插入与批量插入

当我使用我的xxxContext对象并向表发出多个添加时,EntityFramework如何将其解析为SQL?它会循环执行insertintoxxx还是如果有数百行,它是否足够智能以发出批量插入命令?奖励问题:如果它不发出批量插入,是否有办法强制它发出,这样我的数据库性能就不会被单独的插入破坏?还是批量处理到临时表,然后像Upsert一样合并到原始表? 最佳答案 任何ORM工具的缺点是它“很啰嗦”。大多数时候这就足够了。有时不是。简短的回答是“不”。这就是为什么有时我仍然会选择IDataReader而不是EF或NHibernate等

c# - access中插入记录到数据库后如何获取最后一条记录号

我有自动增加字段(ID)的Access数据库。我像这样插入记录(在C#中)SQL="insertintoTermNumTbl(DeviceID,IP)values('"+DeviceID+"','"+DeviceIP+"')";OleDbCommandCmd=newOleDbCommand(SQL,Conn);Cmd.ExecuteNonQuery();Cmd.Dispose();Conn.Close();如何获取最后插入的号码?我不想运行新查询我知道在sql中有类似SELECT@@IDENTITY的东西但是我不知道怎么用提前致谢 最佳答案

c# - WinForms 文本框的自定义插入符号

我正在WinForms.Net2.0应用程序中开发自定义super终端应用程序。我在面板中有一个多行文本框,您可以在其中与硬件设备进行交互。我的客户想要一个自定义插入符号,一个大小为一个字符空间的填充矩形,而不是默认的垂直线。我知道.Net默认不提供执行此操作的选项,但必须有一些Windows函数才能执行此操作。 最佳答案 这些是Windows提供的nativeCaret函数列表,您可以将它们用于您的应用程序。[DllImport("User32.dll")]staticexternboolCreateCaret(IntPtrhWn

c# - 如何将新项目插入 IEnumerable

我从Enum创建了一个下拉列表。publicenumLevel{Beginner=1,Intermediate=2,Expert=3}这是我的扩展。publicstaticSelectListToSelectList(thisTEnumenumObj){IEnumerablevalues=Enum.GetValues(typeof(TEnum)).Cast();varresult=fromTEnumeinvaluesselectnew{ID=(int)Enum.Parse(typeof(TEnum),e.ToString()),Name=e.ToString()};vartempVal

c# - 如何在字典中插入第一个元素?

我有一个字典结构,里面有多个键值对。myDict.Add(key1,value1);myDict.Add(key2,value2);myDict.Add(key3,value3);我的词典用作某些控件的数据源。在控件的下拉列表中,我看到项目是这样的:key1key2key3顺序看起来和我的字典一模一样。我知道Dictionary不像arrayList-你可以获得索引左右。我不能使用sortedDictionary。现在我需要在我的程序的某个点向这个字典添加一个键值对,我希望它和我这样做有同样的效果:myDict.Add(newKey,newValue);myDict.Add(key1,

C# 在更新或插入另一个窗体时刷新 DataGridView

我有2种形式,分别是formA和formB,formA允许用户插入和更新学生信息。formb只是一个DataGridView和按钮。当我在formA上插入学生,然后转到formB时,新学生没有显示在DataGridView上,如果我重新运行程序,新学生将出现在formB中。我尝试在表单b的按钮上使用它datagridview1.refresh();datagridview1.update();但还是不行。编辑:我的插入worker的代码cmd=newOleDbCommand("insertintoFWINFOS(ID,Name,Gender,DateOfBirth,Race,Worki

c# - 在c#中的每个字符后插入一个逗号

我需要一种在字符串中的每个字符后插入逗号的方法。例如,如果我有一串字母"ABCDEFGHIJKLMNOPQRSTUVWXYZ"我需要让它在从A到Z的每个字母后都有一个逗号,我想保持字符串原样,而不是将其转换为char数组或类似的东西。我不知道这是否可能,但这只是我想避免的事情。我该怎么做?最终结果应该是这样的:"A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,"谢谢 最佳答案 在.Net4中:str=String.Join(",",str)+",";.Net4.0增加了一个St

c# - SQL Server 插入、更新、选择的最快方法

我使用SP,这不是SP与代码隐藏“构建您的SQL命令”的问题。我正在为处理许多小事务的后端应用程序寻找一种高吞吐量方法。我将SQLDataReader用于大部分返回,因为forward仅适用于大多数情况。我已经看到它以多种方式完成,并且我自己使用了其中的大部分。定义和接受存储过程参数作为参数本身并使用cmd.Parameters.Add构建的方法(指定或不指定DB值类型和/或长度)将您的SP参数及其值组装到一个数组或哈希表中,然后传递给一个更抽象的方法来解析集合,然后运行​​cmd.Parameters.Add表示表的类,根据需要初始化类,设置表示表字段的公共(public)属性,调用

c# - Entity Framework 4.2,无法设置标识插入

我想将记录批量添加到具有给定ID的表中,这样我就可以构建一个层次结构来以TreeView方式显示记录。我可以单独添加工作正常的记录,但我没有设置ID。我只想批量设置ID,因此我将实体的ID列中的DatabaseGenerated选项设置为NoneNone。using(TransactionScopescope=newTransactionScope(TransactionScopeOption.RequiresNew)){foreach(ErrorCodeecinerrorCodesStep3.errorcodesUsers){errorCode.ID=ec.ID;errorCode.

c# - 使用 DateTime.Now 插入值时 SqlDateTime 溢出

最近我在尝试执行db.SubmitChanges()时遇到了很奇怪的错误:SqlDateTimeoverflow.Mustbebetween1/1/175312:00:00AMand12/31/999911:59:59PM.关键是,我只使用DateTime.Now来设置对象中的属性,并且在调用Response.Write(DateTime.Now.ToString());之后它显示17-04-201318:03:13应该是这样。以前不会发生,现在功能总是中断。我完全无能为力-我的SQL服务器上的日期似乎没问题。可能是什么原因造成的?编辑我认为这不会有帮助(在IMO中出现任何错误太简单了