草庐IT

add_lvalue_reference_t

全部标签

c# - 如何加速 DbSet.Add()?

我必须将大约30k行从CSV文件导入到我的SQL数据库中,很遗憾,这需要20分钟。使用探查器进行故障排除显示DbSet.Add花费的时间最多,但为什么呢?我有这些EntityFramework代码优先类:publicclassArticle{//About20properties,eachpropertydoesn'tstoreexcessiveamountsofdata}publicclassDatabase:DbContext{publicDbSetArticles{get;set;}}对于for循环中的每个项目,我都这样做:db.Articles.Add(article);我在f

c# - Visual Studio : can't find "resource file" in list of items to add to project

我正在使用VSCommunity2017RC。我想将资源文件(.resx)添加到我的项目中,但此项目类型未在项目中列出我错过了什么吗?我是否需要在我的VisualStudio上安装任何东西才能管理资源文件? 最佳答案 在右上角有一个搜索框,试着在那里输入它,看看它是否找到任何东西。如果没有,从新项目对话框创建一个文本文件并将扩展名更改为resx现在应该使用资源设计器打开新文件。现在打开该文件的属性Pane(在解决方案资源管理器中右键单击它)并确保它具有以下设置:构建操作:嵌入资源自定义工具:ResXFileCodeGenerator

C# 错误 : "An object reference is required for the non-static field, method, or property"

我有两个类,一个用于定义算法参数,另一个用于实现算法:1类(算法参数):usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespaceVM_Placement{publicstaticclassAlgorithmParameters{publicstaticintpop_size=100;publicstaticdoublecrossover_rate=0.7;publicstaticdoublemutation_rate=0.001;publicstaticintchrom

c# - EntitySet - IList.Add 没有设置分配是否有合理的理由?

有3种方法可以将项目添加到大多数列表...通过直接的公共(public)API方法,通常是Add(SomeType)通过通用IList.Add(T)界面通过非通用IList.Add(object)接口(interface)方法并且您通常希望它们的行为或多或少相同。但是,LINQ的EntitySet在3.5和4.0上都是...特有的;IListAPI不会将集合标记为“已分配”——其他两种机制会——这听起来微不足道,但它很重要,因为它会严重影响样板代码中的序列化(即导致它被跳过)。例子:EntitySetset1=newEntitySet();set1.Add("abc");Debug.A

c# - 错误 : Reference to type claims it is defined, 但找不到

我有一个包含3个项目的解决方案:ParsersBase,它定义了一个接口(interface)IParseRuleParsersLibrary,它引用了ParsersBase并定义了一个类HtmlImageUrlParseRule:IParseRuleParsersLibraryTest,它引用了ParsersBase和ParsersLibrary并定义了一个带有一些测试方法的测试类当我尝试构建它时,我收到警告:Referencetotype'AVSoft.ParsersBase.IParseRule'claimsitisdefinedin'c:\Users\Tim\Dropbox\p

c# - 如何构建 LINQ to Entities 查询以直接加载子对象,而不是调用 Reference 属性或 Load()

我刚开始使用LINQtoEntities(或EntityFramework,不管他们怎么调用它),我正在编写很多这样的代码:varitem=(fromInventoryItemitemindb.Inventorywhereitem.ID==idselectitem).First();然后像这样在该对象上调用方法:vartype=item.ItemTypeReference;或varorders=item.OrderLineItems.Load();检索子对象或相关对象。我没有分析数据库或挖掘得太深,但我的猜测是,当我调用.Load()或*Reference属性时,我实际上是在对数据库进

c# - 我收到错误 "The DELETE statement conflicted with the REFERENCE constraint"

我尝试用外键截断表并收到消息:"CannottruncatetablebecauseitisbeingreferencedbyaFOREIGNKEYconstraint".我阅读了很多有关该问题的文献,并认为我通过使用delete找到了解决方案DELETEFROMtable_nameDBCCCHECKIDENT(table_name,RESEED,0)但我仍然收到错误消息:"TheDELETEstatementconflictedwiththeREFERENCEconstraint".当我尝试使用MicrosoftManagementStudio删除并执行之前的查询时DELETEFRO

c# - 错误 : "The specified LINQ expression contains references to queries that are associated with different contexts"

我从LINQ查询中收到标题中显示的错误,该查询包含来自两个不同edmx文件的两个表。这是查询:varquery=(fromaindb1.Table1joinbindb1.Table2ona.Idequalsb.Idorderbya.Statuswhereb.Id==1&&a.Status=="new"selectnew{Id=a.Id,CompanyId=(fromcindb2.Companywheres.Id==a.Idselectnew{c.CompanyId})});db1和db2是与两个不同的edmx文件关联的上下文。我该如何克服这个错误? 最佳答案

c# - List.Add() 线程安全

我知道通常List不是线程安全的,但是如果线程从不对列表执行任何其他操作(例如遍历它),那么简单地将项目添加到列表中有什么问题吗?例子:Listlist=newList();Parallel.ForEach(transactions,tran=>{list.Add(newobject());}); 最佳答案 在幕后发生了很多事情,包括重新分配缓冲区和复制元素。该代码会导致危险。很简单,添加到列表时没有原子操作,至少需要更新“Length”属性,需要将项目放在正确的位置,并且(如果有单独的变量)索引需要要被更新。多个线程可以互相践踏。

C# 反射 : How to get class reference from string?

我想在C#中执行此操作,但我不知道如何:我有一个带有类名的字符串-例如:FooClass我想在这个类上调用一个(静态)方法:FooClass.MyMethod();显然,我需要通过反射找到对类的引用,但是如何呢? 最佳答案 您将要使用Type.GetType方法。这是一个非常简单的例子:usingSystem;usingSystem.Reflection;classProgram{staticvoidMain(){Typet=Type.GetType("Foo");MethodInfomethod=t.GetMethod("Bar"