小编bun*_*ink的帖子

实体框架Linq查询:.Where chain vs &&

此问题涉及使用Linq和实体框架进行查询优化.

链接.Where子句与使用linq查询&&的单个.Where子句与实体框架之间有什么区别吗?

例如:假设我有以下代码:

var result = context.SomeEntity.Where(exp1).Where(exp2);
Run Code Online (Sandbox Code Playgroud)

要么

var result = context.SomeEntity.Where(exp1 && exp2);
Run Code Online (Sandbox Code Playgroud)

在评估产生相同结果的这些语句时,linq和实体框架是否以相同的方式评估它们?即,两者是否都有相同的执行计划,因此效率相同?

linq entity-framework ef-fluent-api

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

在创建时调用Lambdas

在javascript中,通常使用闭包创建然后立即调用匿名函数,如下所示:

var counter = (function() {
    var n = 0;
    return function() { return n++; }
}());
Run Code Online (Sandbox Code Playgroud)

由于强类型,这在C#中非常冗长:

Func<int> counter = ((Func<Func<int>>)(() =>
{
    int n = 0;
    return () => n++;
}))();
Run Code Online (Sandbox Code Playgroud)

在C#中有更优雅的方式来解决这类问题吗?

.net c# lambda closures

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

等待WCF服务的最佳方式?

我正在制作一个基本的自托管WCF服务,我只是想知道最好的方法是让它等待接受请求吗?我找到的所有基本教程都只使用Console.ReadLine来等待用户按Enter键退出.对于实际应用来说,这似乎不太实用.我试了一会儿(真的); 循环,但这消耗了所有可用的CPU周期,因此它不是一个选项.我也试过Thread.Sleep(0),但服务在睡觉时不接受请求,所以这也行不通.我确信有一些常见的方法让你的程序"停顿"等待WCF请求; 谁知道怎么样?

我正在使用C#,.NET 3.5 sp1.

.net c# wcf

5
推荐指数
2
解决办法
2043
查看次数

主键更改强制外键更改

我有一个问题我正在使用现有的SQL Server 2008数据库:我需要偶尔更改表中某些现有记录的主键值.不幸的是,大约有30个其他表具有对该表的外键引用.

更改主键和相关外键的最优雅方法是什么?

我不是在可以更改现有密钥结构的情况下,因此这不是一个选项.此外,随着系统的扩展,更多表将与此表相关,因此可维护性非常重要.我正在寻找最优雅和可维护的解决方案,非常感谢任何帮助.到目前为止,我一直在考虑使用存储过程或触发器,但在向错误的方向前我想要一些建议.

谢谢!

sql t-sql sql-server sql-server-2008

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