相关疑难解决方法(0)

什么是LINQ,它做什么?

什么是LINQ?我知道它适用于数据库,但它有什么作用?

c# linq

119
推荐指数
6
解决办法
8万
查看次数

哪个是C#和.NET的"最佳"数据访问框架/方法?

(编辑:我把它变成了社区维基,因为它更适合协作格式.)

从.NET访问SQL Server和其他数据库有很多种方法.所有这些都有其优点和缺点,它永远不会是一个简单的问题,哪个是"最好的" - 答案永远是"它取决于".

但是,我正在寻找不同层次系统背景下不同方法和框架的高层次比较.例如,我认为对于快速而肮脏的Web 2.0应用程序,答案与内部企业级CRUD应用程序有很大不同.

我知道Stack Overflow上有很多关于这个问题子集的问题,但我认为尝试构建一个汇总比较会很有用.我会尽力更新问题并加以纠正和澄清.

到目前为止,这是我对高层的理解 - 但我确信这是错误的......我主要关注微软的方法来保持这一点.

ADO.NET实体框架

  • 数据库不可知
  • 很好,因为它允许交换后端
  • 糟糕,因为它可以达到性能,数据库供应商对它不太满意
  • 似乎是MS未来的首选路线
  • 复杂学习(但见267357)
  • 它通过LINQ to Entities访问,因此提供ORM,从而允许在代码中进行抽象

LINQ to SQL

"标准"ADO.NET

  • 没有ORM
  • 没有抽象,所以你回到"自己动手"并使用动态生成的SQL
  • 直接访问,可以提供更好的性能
  • 这与关于是否专注于对象或关系数据的古老争论有关,答案当然是"它取决于大部分工作的位置",因为这是一个无法回答的问题,希望我们不要不得不太过分了.恕我直言,如果你的应用程序主要是操作大量数据,将它过多地抽象到前端代码中的对象是没有意义的,你最好使用存储过程和动态SQL来完成尽可能多的工作.可能在后端.然而,如果您主要进行用户交互,导致数十或数百行的数据库交互,那么ORM就完全有意义了.所以,我想我对旧式ADO.NET的论证是在你操纵和修改大数据集的情况下,
  • 当然,另一种情况是您必须访问已由存储过程保护的旧数据库.

ASP.NET数据源控件

这些东西是完全不同的还是仅仅是标准ADO.NET的一层? - 如果您有DAL或者实施了LINQ或实体,您真的会使用这些吗?

NHibernate的

  • 似乎是一个非常强大和强大的ORM?
  • 开源

其他一些相关链接; NHibernate或LINQ to SQL Entity Framework与LINQ to SQL

.net c# sql asp.net

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

发现两个词典之间的差异

是否有LINQ方法来查找两个通用字典之间的区别?
此问题相同,但使用通用词典.

.net c# linq collections dictionary

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

Linq警告

Linq是.NET的一个很棒的补充,我发现它在很多情况下都很好用,即使我刚开始学习如何使用Linq.

然而,在我对Linq所做的阅读中,我发现开发人员需要注意一些微妙的事情,这可能会导致麻烦.

我已经提到了一个明确的警告,我发现这是延迟执行的结果.

所以我想知道,对于Linq来说,Linq的新手应该知道哪些其他注意事项?

.net linq

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

linq的缺点

一般来说linq有什么缺点.

linq

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

对列表c#中的特定索引应用lambda表达式

我是lambda表达式的新手,我有问题将包含循环内列表索引的代码部分转换为等效的lambda表达式.

示例1:在一个列表中使用不同的索引

List<double> newList = new List<double>();
for (int i = 0; i < list.Count - 1; ++i)
{
     newList.Add(list[i] / list[i + 1]);
}
Run Code Online (Sandbox Code Playgroud)

示例2:使用两个列表中的索引

double result = 0;
for (int i = 0; i < list1.Count; ++i)
{
    result += f(list1[i]) * g(list2[i]);
}
Run Code Online (Sandbox Code Playgroud)

如何编写等效的lambda表达式?

c# linq lambda

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

标签 统计

linq ×5

c# ×4

.net ×3

asp.net ×1

collections ×1

dictionary ×1

lambda ×1

sql ×1