草庐IT

create_collection

全部标签

c# - 如何防止 EF "The context cannot be used while the model is being created"错误?

查看我的Elmah错误日志,我看到一些来自EntityFramework的InvalidOperationException处理:Thecontextcannotbeusedwhilethemodelisbeingcreated.这是来自Nuget的最新EFCodeFirst库。我能够在网上找到的唯一信息是它是由将数据上下文作为单例引起的,这肯定不是我的情况。在我的Windsor安装程序中,我的EF工作单元结构正在注册:container.Register(Component.For().ImplementedBy().LifeStyle.PerWebRequest);我能够通过在VS

c# - 使用 GC.Collect() 是正确的; GC.WaitForPendingFinalizers();?

我开始审查项目中的一些代码并发现了类似这样的内容:GC.Collect();GC.WaitForPendingFinalizers();这些线条通常出现在旨在提高效率的理由下破坏对象的方法上。我发表了以下评论:在销毁每个对象时显式调用垃圾回收会降低性能,因为这样做没有考虑到CLR性能是否绝对必要。按此顺序调用这些指令会导致每个对象仅在其他对象正在完成时才被销毁。因此,一个可以独立销毁的对象必须在没有真正必要的情况下等待另一个对象的销毁。它会产生死锁(参见:thisquestion)1、2和3是真的吗?你能提供一些引用来支持你的答案吗?虽然我几乎可以肯定我的言论,但我需要在我的论点中说清

c# - .NET 字典 : get or create new

我经常发现自己创建了一个Dictionary具有非平凡的值类(例如List),然后在填充数据时始终编写相同的代码模式。例如:vardict=newDictionary>();stringkey="foo";stringaValueForKey="bar";也就是我想插入"bar"到键"foo"对应的列表中,其中键"foo"可能没有映射到任何东西。这是我使用不断重复的模式的地方:ListkeyValues;if(!dict.TryGetValue(key,outkeyValues))dict.Add(key,keyValues=newList());keyValues.Add(aValu

c# - 使用 MD5.Create 和 MD5CryptoServiceProvider 有什么区别?

在.NET框架中,似乎有几种方法可以计算MD5哈希值,但有些东西我不明白;以下有什么区别?是什么让他们与众不同?它们似乎产生相同的结果:publicstaticstringGetMD5Hash(stringstr){MD5CryptoServiceProvidermd5=newMD5CryptoServiceProvider();byte[]bytes=ASCIIEncoding.Default.GetBytes(str);byte[]encoded=md5.ComputeHash(bytes);StringBuildersb=newStringBuilder();for(inti=0

c# - Tuple.Create() 与新元组

考虑以下表达式:newTuple(1,2);Tuple.Create(1,2);这两种创建元组的方法有什么区别吗?从我的阅读来看,它似乎比C++中的对象创建(堆与堆栈)更方便。 最佳答案 就我个人而言,我发现Tuple.Create()不那么冗长且更易于阅读。在引擎盖下没有区别。Tuple.Create()重载方法只是一堆调用您发布的第一个版本的静态方法:publicstaticclassTuple{publicstaticTupleCreate(T1item1){returnnewTuple(item1);}publicstati

c# - 无法使用集合初始值设定项初始化类型 '',因为它未实现 'System.Collections.IEnumerable'

我创建了一个类,其中包含三个类作为属性:publicclassFeeds{publicRentalsRentals{get;set;}publicAgentAgents{get;set;}publicNorthwindService.ServiceReference1.FileFile{get;set;}}我是这样使用它的:varquery=fromrinent.Rentalsjoinainent.Agentsonr.ListingAgentIDequalsa.AgentIDselectnewFeeds{a.AgentID,a.Alias,a.Bio,a.Email,a.Fax,r.F

c# - 无法将类型 'System.Collections.Generic.IEnumerable<AnonymousType#1>' 隐式转换为 'System.Collections.Generic.List<string>

我有以下代码:Listaa=(fromcharcinsourceselectnew{Data=c.ToString()}).ToList();但是呢Listaa=(fromcharc1insourcefromcharc2insourceselectnew{Data=string.Concat(c1,".",c2)).ToList();编译出错Cannotimplicitlyconverttype'System.Collections.Generic.List'to'System.Collections.Generic.List'需要帮助。 最佳答案

c# - 将语句与泛型一起使用 : using ISet<> = System. Collections.Generic.ISet<>

因为我使用了两个不同的通用集合命名空间(System.Collections.Generic和Iesi.Collections.Generic),所以我有冲突。在项目的其他部分,我同时使用nunit和mstest框架,但是当我调用Assert时,我想通过使用nunit版本usingAssert=NUnit.Framework.Assert;效果很好,但我想对泛型类型做同样的事情。但是,以下几行不起作用usingISet=System.Collections.Generic.ISet;usingISet=System.Collections.Generic.ISet;有谁知道如何告诉.n

c# - "Context cannot be used while the model is being created"异常与 ASP.NET 标识

为什么当我们调用AccountApiController.Register()方法时会发生这种情况?什么试图使用上下文?什么试图创建上下文?我们如何避免这种情况?我们如何调试它?"Message":"Anerrorhasoccurred.","ExceptionMessage":"Thecontextcannotbeusedwhilethemodelisbeingcreated.ThisexceptionmaybethrownifthecontextisusedinsidetheOnModelCreatingmethodorifthesamecontextinstanceisacces

c# - GC.Collect() 和完成

好的,众所周知,当GC将对象识别为垃圾时,它会隐式调用对象上的Finalize方法。但是如果我执行GC.Collect()会发生什么?finalizer是否仍然执行?有人问我这个问题,我回答"is",然后我想:“完全正确吗?” 最佳答案 Ok,it'sknownthatGCimplicitlycallsFinalizemethodsonobjectswhenitidentifiesthatobjectasgarbage.不不不。这不是已知,因为要成为知识,一个陈述必须是真。该声明是错误的。垃圾收集器在跟踪时不会运行终结器,无论它是自