草庐IT

buts_list

全部标签

c# - Entity Framework 6 : Adding child object to parent's list vs. 将子项的导航属性设置为父项

我有一个现有数据库,其中包含两个表MailServers和MailDomains。MailDomains的外键列MailServerId指向MailServers中的Id主键列。所以我们这里是一对多的关系。我关注了thisarticle并通过实体数据模型向导中的“代码优先从数据库”模型创建了我的EntityFrameworkPOCO。这产生了以下两个C#类:publicpartialclassMailServer{publicMailServer(){MailDomains=newHashSet();}publicintId{get;set;}publicvirtualICollect

c# - 具有默认值的 XmlSerializer 和 List<T>

我在序列化和反序列化具有List类型成员的类时观察到一个奇怪的行为在构建时填充了默认值。与基于数组的属性不同,类型为List的属性不会在XmlSerializer反序列化时被清空。这是我的代码:publicclassProgram{publicclassConfig{publicConfig(){Test1=newList(){"A","B"};Test2=newString[]{"A","B"};}publicListTest1{get;set;}publicstring[]Test2{get;set;}}publicstaticvoidMain(){XmlSerializerxml

c# - 无法使用 EFCore、EntityState.Modified : "Database operation expected to affect 1 row(s) but actually affected 0 row(s)." 编辑数据库条目

我将IdentityCore1.0与ASP.NETMVCCore1.0和EntityFrameworkCore1.0结合使用来创建一个简单的用户注册系统thisarticle作为起点,我正在尝试添加用户角色。我可以添加用户角色,但无法编辑它们。这是RolesController中的Edit操作:[HttpPost][ValidateAntiForgeryToken]publicIActionResultEdit(IdentityRolerole){try{_db.Roles.Attach(role);_db.Entry(role).State=Microsoft.EntityFrame

c# - 在 Protobuf.NET 中序列化 List<object> (其中对象支持原语)?

如何使用protobuf-net序列化这样的对象:publicclassMyObject{publicstringKey{get;set;}publicListValues{get;set;}}当我尝试使用TypeModelprotobuf-net对此进行序列化时,抛出一个错误,指出它不知道如何序列化System.Object。现在我知道Values只会包含基元(int、string、float、DateTime等)。那么如何让protobuf-net知道这一点呢? 最佳答案 在任何意义上,这在纯ProtoBuf中都是不可行的。Pr

c# - 为什么 Stack<T> 和 Queue<T> 没有 Capacity 属性而 List<T> 有?

Capacity属性在List中是否比在其他集合(如Stack和Queue)中更有用?还是有其他方法可以获取Stack或Queue的容量? 最佳答案 我认为List具有Capacity属性而Stack和Queue没有的原因是这些类型的正常用法是不同的。对于List,用大量值填充它是相当常见的,甚至在它创建一段时间后也是如此。提供Capacity属性(和构造函数参数)有助于减少将大量项目添加到列表时将完成的重新分配的数量。Stack和Queue另一方面,它们不会立即添加大量项目已创建。据推测,Microsoft认为不值得添加Capac

c# - List<SelectListItem> 如何在 View 中安全地转换为 SelectList

我正在关注一个问题,其中OP有类似这样的东西[HttpGet]publicActionResultIndex(){varoptions=newList();options.Add(newSelectListItem{Text="Text1",Value="1"});options.Add(newSelectListItem{Text="Text2",Value="2"});options.Add(newSelectListItem{Text="Text3",Value="3"});ViewBag.Status=options;returnView();}然后在View中可以做这样的事情

c# - 用于修复 .NET 应用程序以解决 SQL Server 超时问题并改进执行时间的 list

用于改进.NET代码和SQLServer之间的执行时间的list。任何从基本到奇怪的解决方案都值得赞赏。代码:通过avgbody更改命令和连接中的默认超时.avgbody使用存储过程调用而不是内联sql语句.使用JayShepherd的事件监视器查找阻止/锁定.SQL服务器:注意存储过程中的参数嗅探AlexCuse.注意动态增长数据库MartinClarke.通过BradO使用Profiler查找任何花费超过100毫秒的查询/存储过程.将事务超时增加avgbody.通过avgbody将动态存储过程转换为静态存储过程.通过JayShepherd检查服务器有多忙.

c# - C# List<T> 的线程安全给读者

我计划在静态构造函数中创建一次列表,然后让该类的多个实例同时读取它(并枚举它)而不进行任何锁定。在本文中http://msdn.microsoft.com/en-us/library/6sh2ey19.aspxMS是这样描述线程安全问题的:Publicstatic(SharedinVisualBasic)membersofthistypearethreadsafe.Anyinstancemembersarenotguaranteedtobethreadsafe.AListcansupportmultiplereadersconcurrently,aslongasthecollectio

c# - 使用 XmlSerializer 反序列化 List<int> 导致额外的项目

我注意到XmlSerializer和通用列表(特别是List)有一个奇怪的行为。我想知道是否有人以前见过这个或知道发生了什么。看起来序列化工作正常,但反序列化想要向列表中添加额外的项目。下面的代码演示了这个问题。可序列化类:publicclassListTest{publicint[]Array{get;set;}publicListList{get;set;}publicListTest(){Array=new[]{1,2,3,4};List=newList(Array);}}测试代码:ListTestlistTest=newListTest();Debug.WriteLine("I

c# - 为什么 List<T>.ForEach() 实现 for 循环?

我不明白为什么List.ForEach()扩展方法实现了一个for在引擎盖下循环。这打开了修改集合的可能性。正常foreach在这种情况下肯定会抛出异常ForEach()应该以同样的方式使用react吗?如果您出于任何原因必须改变一个集合,那么您肯定应该手动迭代for中的集合循环?foreach之间似乎有一点语义上的矛盾。和List.ForEach().我错过了什么吗? 最佳答案 只有BCL团队的一名成员可以肯定地告诉我们,但这可能只是一个疏忽List.ForEach允许您修改列表。首先,DavidB的回答对我来说没有意义。这是Li