标签: linq-to-entities

实体框架VS LINQ to SQL VS ADO.NET与存储过程?

你会如何评价每一个:

  1. 性能
  2. 发展速度
  3. 整洁,直观,可维护的代码
  4. 灵活性
  5. 总体

我喜欢我的SQL,因此一直是ADO.NET和存储过程的忠实粉丝,但我最近玩过Linq to SQL,并且被写出我的DataAccess层的速度和决定花费的速度感到震惊有一段时间真正理解Linq to SQL或EF ......或者两者都没有?

我只是想检查一下,这些技术中没有一个很大的缺陷会让我的研究时间变得毫无用处.例如,性能非常糟糕,对于简单的应用程序来说它很酷,但只能带你到目前为止.

更新: 您可以专注于EF VS L2S VS SP而不是ORM VS SP.我主要对EF VS L2S感兴趣.但我很想将它们与存储过程进行比较,因为普通的SQl是我所了解的很多东西.

sql ado.net linq-to-entities entity-framework linq-to-sql

424
推荐指数
4
解决办法
17万
查看次数

如何在Linq中使用SQL Like%?

我在SQL中有一个程序,我试图变成Linq:

SELECT O.Id, O.Name as Organization
FROM Organizations O
JOIN OrganizationsHierarchy OH ON O.Id=OH.OrganizationsId
where OH.Hierarchy like '%/12/%'
Run Code Online (Sandbox Code Playgroud)

我最关心的是:

where OH.Hierarchy like '%/12/%'
Run Code Online (Sandbox Code Playgroud)

我有一个存储层的列,例如/ 1/3/12,所以我只使用%/ 12 /%来搜索它.

我的问题是,Linq或.NET相当于使用百分号?

.net t-sql linq linq-to-entities sql-like

376
推荐指数
7
解决办法
37万
查看次数

如何使用存储过程DbContext.Database.SqlQuery <TElement>(sql,params)?EF Code First CTP5

我有一个存储过程有三个参数,我一直在尝试使用以下命令返回结果:

context.Database.SqlQuery<myEntityType>("mySpName", param1, param2, param3);
Run Code Online (Sandbox Code Playgroud)

起初我尝试使用SqlParameter对象作为参数,但这不起作用并抛出SqlException以下消息:

过程或函数'mySpName'需要参数'@ param1',这是未提供的.

所以我的问题是你如何使用这个方法与期望参数的存储过程?

谢谢.

c# sql ado.net linq-to-entities entity-framework-ctp5

240
推荐指数
6
解决办法
30万
查看次数

Linq to Entities - SQL"IN"子句

在T-SQL中,您可以进行如下查询:

SELECT * FROM Users WHERE User_Rights IN ("Admin", "User", "Limited")
Run Code Online (Sandbox Code Playgroud)

你会如何在LINQ to Entities查询中复制它?它甚至可能吗?

.net linq linq-to-entities in-clause

228
推荐指数
5
解决办法
19万
查看次数

将Linq转换为实体中的字符串的问题

var items = from c in contacts
            select new ListItem
            {
                Value = c.ContactId, //Cannot implicitly convert type 'int' (ContactId) to 'string' (Value).
                Text = c.Name
            };
var items = from c in contacts
            select new ListItem
            {
                Value = c.ContactId.ToString(), //Throws exception: ToString is not supported in linq to entities.
                Text = c.Name
            };
Run Code Online (Sandbox Code Playgroud)

无论如何我能做到这一点吗?注意,在VB.NET中没有问题使用它工作得很好的第一个片段,VB很灵活,我无法习惯C#的严格!

c# asp.net linq-to-entities tostring

199
推荐指数
4
解决办法
19万
查看次数

转换为值类型"Int32"失败,因为实现值为null

我有以下代码.我收到错误:

"转换为值类型'Int32'失败,因为具体化值为null.结果类型的泛型参数或查询必须使用可空类型."

当CreditHistory表没有记录时.

var creditsSum = (from u in context.User
                  join ch in context.CreditHistory on u.ID equals ch.UserID                                        
                  where u.ID == userID
                  select ch.Amount).Sum();
Run Code Online (Sandbox Code Playgroud)

如何修改查询以接受空值?

.net c# linq-to-entities entity-framework

190
推荐指数
5
解决办法
12万
查看次数

了解LINQ

概观

LINQ,我在网站上提出了很多问题.我提出的问题范围广泛而且多种多样,往往背后没有太多背景.因此,为了巩固我在Linq上获得的知识,我发布了这个问题,以便在我继续学习LINQ时使用其他信息来维护和更新它.

我也希望它能够成为想要了解LINQ的其他人的有用资源.

什么是LINQ?

来自MSDN:

LINQ项目是.NET Framework的一组扩展的代号,包含语言集成的查询,设置和转换操作.它使用本机语言语法扩展C#和Visual Basic,并提供类库以利用这些功能.

这意味着LINQ提供了一种使用通用语法查询各种数据源的标准方法.

LINQ有哪些口味?

目前,Microsoft提供了一些不同的LINQ提供程序:

还有很多其他的,其中许多列在这里.

有什么好处?

  • 查询多个数据源的标准化方法
  • 编译查询的时间安全性
  • 在内存对象中执行基于集合的操作的优化方法
  • 能够调试查询

那么LINQ怎么办?

Chook提供了一种输出CSV文件的方法
Jeff显示了如何从数组中删除重复项
Bob 从数据表中获取一个不同的有序列表
Marxidad显示了如何对数组进行排序
Dana获得了使用Linq实现快速排序的帮助

从哪儿开始?

GateKiller的问题链接摘要如下:
Scott Guthrie 在他的博客上为Linq提供了一个介绍MSDN
LINQ的概述

ChrisAnnODell建议退房:

linq linq-to-objects linq-to-entities linq-to-sql

188
推荐指数
3
解决办法
2万
查看次数

实体框架4/POCO - 从哪里开始?

我已经编程了一段时间并且之前使用过LINQ-To-SQL和LINQ-To-Entities(尽管在使用实体时它已经处于实体/表1-1关系 - 即与L2SQL没有太大区别)

我一直在阅读有关控制反转,工作单元,POCO和存储库模式的大量阅读,并希望在我的新应用程序中使用此方法.

我正在努力的是为EF4寻找一个清晰,简明的初学者指南,该指南不承担EF1的知识.

我需要回答的具体问题是:

代码优先/型号第一?关于EF4的优点/缺点(即如果我先编码,在以后更改代码并需要重新生成我的数据库模型会发生什么 - 数据是否会被保留,转换或丢弃?)

假设我要进行代码优先(我想看看EF4如何将其转换为数据库模式)我该如何实际开始?我经常看到有实体图表的文章说"所以这是我的实体模型,现在我要去..." - 不幸的是,我不清楚他们是否在设计师中创建了模型,将其保存到生成代码然后停止任何进一步的自动代码生成 - 或 - 他们编码(POCO)?类和不知何故将它们导入到deisgner视图中?

我想我真正需要的是理解"魔法"来自何处,以及如果我不是直接从DB生成EF模型,如何自己添加它.

我知道这个问题有点模糊,但我不知道我不知道 - 所以任何输入/更正/澄清都会受到赞赏.

毋庸置疑,我不希望有人坐在这里教我EF - 我只是喜欢一些好的教程/论坛/博客/等.对于完整的实体新手

linq-to-entities entity-framework poco entity-framework-4

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

.ToList(),. AsEnumerable(),AsQueryable()之间的区别是什么?

我知道LINQ to Entities和LINQ to Objects的一些区别,第一个实现IQueryable和第二个实现IEnumerable,我的问题范围在EF 5中.

我的问题是这3种方法的技术差异是什么?我看到,在许多情况下,所有这些都有效.我也看到使用它们的组合.ToList().AsQueryable().

  1. 这些方法究竟意味着什么?

  2. 是否有任何性能问题或某些因素会导致使用另一个?

  3. 例如,为什么会使用?.ToList().AsQueryable()而不是.AsQueryable()

linq-to-entities entity-framework entity-framework-4 entity-framework-5

166
推荐指数
3
解决办法
6万
查看次数

Linq to Entities加入vs groupjoin

我有网络搜索但我仍然无法找到一个简单的答案.有人可以解释(用简单的英文)是什么GroupJoin?它与普通的内心有什么不同Join?它常用吗?它只适用于方法语法吗?查询语法怎么样?一个c#代码示例会很好.

c# linq linq-to-entities

164
推荐指数
2
解决办法
9万
查看次数