小编Lia*_* Wu的帖子

如何在C#中使用迭代器反向读取文本文件

我需要处理一个大文件,大约400K行和200M.但有时我必须自下而上处理.我怎样才能在这里使用迭代器(yield return)?基本上我不喜欢在内存中加载所有内容.我知道在.NET中使用迭代器更有效.

.net c#

84
推荐指数
3
解决办法
5万
查看次数

Linq2SQl急切加载多个DataLoadOptions

我喜欢使用Linq2SQL通过eager-loading来获取数据.代码类似于:

       DataLoadOptions options = new DataLoadOptions();

       options.LoadWith<Product>(c => c.ProductCompanies);

       options.LoadWith<Product>(c => c.OrderDetails);

       db.LoadOptions = options;

       IEnumerable<Product> products = db.Products.ToList<Product>();
Run Code Online (Sandbox Code Playgroud)

我检查它生成了超过1个SQL查询,如我所料.实际上它只对Product和OrderDetails进行急切加载,并且逐个查询ProductCompany.我这里做错了吗?或者它是Linq2SQL问题?我们有任何解决方法吗?

非常感谢!

更新: 我从SQL事件探查器检查sql.我发现Leppie和Ian都是正确的.它们在一次交易中受限制.但是当我将其设置为延迟加载时,它会打开多个连接.

.net linq linq-to-sql

12
推荐指数
2
解决办法
6766
查看次数

静态反射性能

我正在播放Joel Abrahamsson的博客和Daniel Cazzulino的博客中的静态反射代码.但我发现他们的表现有点慢,甚至与使用"魔术弦"的反射相比.

int iterations = 1000000; 
watch.Start();

for (int i = 0; i < iterations; i++)
{
    var propertyOfName = Reflect<Employee>.GetProperty(c => c.Name); 
}

watch.Stop();
Console.WriteLine("[Reflector]: " + watch.ElapsedMilliseconds.ToString());
watch.Reset();
watch.Start();

for (int i = 0; i < iterations; i++)
{
    var propertyName = typeof (Employee).GetProperty("Name"); 
}

watch.Stop();
Console.WriteLine("[Regular Reflection]: " + watch.ElapsedMilliseconds.ToString());
watch.Reset();
watch.Start();

for (int i = 0; i < iterations; i++)
{
    var propertyName = StaticReflection.GetMemberName<Employee>(c => c.Name);
}

watch.Stop();
Console.WriteLine("[StaticReflection]: " …
Run Code Online (Sandbox Code Playgroud)

c# reflection

9
推荐指数
1
解决办法
2282
查看次数

如何将行转换为列

查询SQL Server 2005数据库时遇到一个简单的问题.我有一个名为Customer and Products(1-> M)的表.一个客户拥有最多2个产品.而不是输出

客户名称,产品名称......

我喜欢输出为

CustomerName,Product1Name,Product2Name ...

有人能帮助我吗?

谢谢!

sql sql-server

8
推荐指数
2
解决办法
4212
查看次数

从SQL Server 2005将数据导出为固定宽度文件

我认为将视图中的数据从SQL Server 2005导出到固定宽度的文本文件是一项非常简单的任务.但精灵很痛苦.格式不正确.有谁知道如何处理它?或者更好的方法吗?

sql-server

3
推荐指数
1
解决办法
9668
查看次数

比较i4o与PLINQ对比较大的系列

对于有i4o或PLINQ经验的人,我有一个问题.我有一个需要查询的大对象集合(大约400K).逻辑非常简单明了.例如,有Person对象的集合,我需要找到具有相同的名字,姓氏,datebirth,或名字/姓氏的首字母等相匹配的人它只是使用LINQ to对象耗时的过程.

我想知道i4o (http://www.codeplex.com/i4o)

或PLINQ可以帮助提高查询性能.哪一个更好?如果那里有任何方法.

谢谢!

c# linq linq-to-objects plinq

3
推荐指数
1
解决办法
1102
查看次数

VS 2008"无法连接到ASP.NET开发服务器"

我和VS 2005和VS 2008并排安装.有趣的是,我可以在VS 2005下使用开发服务器.但是当我在VS 2008中尝试时,它给了我一个错误"无法连接到ASP.NET开发服务器".

任何的想法?

谢谢!

asp.net visual-studio-2008

2
推荐指数
1
解决办法
8251
查看次数

Telerik MVC扩展与JqGrid冲突?

我试图在ASP.NET MVC应用程序中使用带有jQGrid的Telerik MVC扩展.但我发现他们不能很好地互相玩耍,这意味着我不能让他们在一个视图中一起工作.不确定为什么?我想这是因为js文件的位置.JqG​​rid需要将js库放在Head中,但Telerik需要在Body标记结束之前根据其指令.我试着移动这段代码,见下文.Telerik MVC扩展不再适用.有人让他们顺利工作吗?实际上,我可以使用Telerik构建的JQuery UI.但Telerik的流畅API看起来更好.

   <%
        Html.Telerik().ScriptRegistrar()
                      .Render();
    %>  
Run Code Online (Sandbox Code Playgroud)

更新:

现在,我应该能够让他们一起工作.

首先,在Site.Master中,在Telerik脚本渲染后添加另一个内容,如:

<%
     Html.Telerik().ScriptRegistrar()
              .Render();
%>

<asp:ContentPlaceHolder ID="ScriptContent" runat="server" />
Run Code Online (Sandbox Code Playgroud)

然后,在View中,在ScriptContent中添加特定于view的脚本.一切正常.

asp.net-mvc jquery jquery-ui telerik

1
推荐指数
1
解决办法
1125
查看次数

使用TPL或Async生成大型文本文件的最佳方法

我有一张约500K记录的表.
我需要将数据导出到文本文件中.

最好的方法是什么?.NET任务并行或异步是否有帮助?
我想使用Parallel来创建多个文件,然后组合在一起.

那是好方法吗?非常感谢您的建议.

c# io task-parallel-library

1
推荐指数
1
解决办法
492
查看次数