首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Linq to SQL是不是错过了这一点?ORM-mappers(SubSonic等)不是次优解决方案吗?

您好!您提到的问题是关于Linq to SQL和ORM-mappers(如SubSonic)的比较。Linq to SQL是一种ORM(对象关系映射)技术,它可以将数据库表中的数据映射到对象中,使得开发人员可以使用面向对象的方式来操作数据库。ORM-mappers(如SubSonic)也是一种ORM技术,它可以自动生成数据访问代码,使得开发人员可以更加方便地操作数据库。

关于Linq to SQL是否错过了这一点,这需要根据具体情况来判断。Linq to SQL提供了一种简单易用的方式来操作数据库,但是它可能不适用于所有的应用场景。如果您的应用程序需要处理大量的数据或者需要复杂的查询,那么Linq to SQL可能不是最佳选择。在这种情况下,使用ORM-mappers(如SubSonic)可能会更加高效。

总的来说,Linq to SQL和ORM-mappers(如SubSonic)都是非常有用的工具,可以帮助开发人员更加方便地操作数据库。具体选择哪种技术,需要根据您的应用程序需求和开发团队的技术背景来决定。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

2022年了有哪些值得推荐的.NET ORM框架?

LINQKit - LINQKit是LINQSQL和Entity Framework的免费扩展集。 Pomelo.EntityFrameworkCore.MySql - mysql的EF驱动程序。...与SubSonic一样,它支持使用 T4 模板生成 poco 类(仅限 V5)。 与Massive一样,它以单个文件的形式提供,您可以轻松地将其添加到任何项目或编译(仅限 V5)。...在架构上,它比 Dapper、Massive 或 PetaPoco 微 ORM 高出一步,因为您使用 LINQ 表达式,而不是魔术字符串,同时在代码和数据库之间维护一个薄抽象层。...但是,它不像 LINQ to SQL 或实体框架那么重。没有更改跟踪,因此您必须自己进行管理,但从积极的方面来说,您可以获得更多控制权并更快地访问您的数据。...它旨在进一步改进 .NET 数据访问体验和解决方案,以及社区的集体思想。 高质量- 它是一个高质量的微型 ORM,由 10K+ 真实单元和集成测试支持。

5.8K11

2022年了有哪些值得推荐的.NET ORM框架?

LINQKit - LINQKit是LINQSQL和Entity Framework的免费扩展集。 Pomelo.EntityFrameworkCore.MySql - mysql的EF驱动程序。...与SubSonic一样,它支持使用 T4 模板生成 poco 类(仅限 V5)。 与Massive一样,它以单个文件的形式提供,您可以轻松地将其添加到任何项目或编译(仅限 V5)。...在架构上,它比 Dapper、Massive 或 PetaPoco 微 ORM 高出一步,因为您使用 LINQ 表达式,而不是魔术字符串,同时在代码和数据库之间维护一个薄抽象层。...但是,它不像 LINQ to SQL 或实体框架那么重。没有更改跟踪,因此您必须自己进行管理,但从积极的方面来说,您可以获得更多控制权并更快地访问您的数据。...它旨在进一步改进 .NET 数据访问体验和解决方案,以及社区的集体思想。 高质量- 它是一个高质量的微型 ORM,由 10K+ 真实单元和集成测试支持。

3.8K20

SQL 查询是从 Select 开始的

好吧,显然很多SQL查询都是从SELECT开始的(实际上本文只是关注SELECT查询,而不是INSERT或其它别的什么)。 但是!...昨天我正在做窗口函数的解释说明,并且我发现自己在谷歌上搜索“你能根据窗口函数的结果进行过滤”。比如 — 你能在WHERE、HAVING或者其它地方过滤窗口函数的结果?...3、数据库引擎实际并不是按这个顺序运行查询 因为它实现了一系列优化以使查询运行得更快 — 我们稍后将在本文中讨论这一点。...6、LINQ以FROM开始查询 LINQ(一种C#和VB.NET中的查询语法)使用的顺序为FROM … WHERE … SELECT。...(不过,我经常会先放一个WHERE来提高性能,而且我认为大多数数据库引擎实际也会先执行WHERE) 在R的dplyr中,你还能使用不同的语法来查询诸如Postgres、MySQL或SQLiteSQL数据库

1.7K20

劲爆ORACLE优化,你不必是专家

这两个SQL都有个特点,执行时间都在16秒以上,对于生产系统的事务来说,这是不是长了些?然后开始找这两个SQL的优化空间。 相关SQL如下(这只是其中一个影响整体性能最为明显的SQL之一): ?...这SQL是绑定变量方式,我们取一个绑定值进行测试,执行时长和计划、逻辑读信息如下: ? ? 发现实际执行更慢,需要1分钟50秒,逻辑读高达725371。...优化方案 共经历了两次优化,第一次优化了20倍左右的性能,但是杀伤力之大,库还是承受不住。第二次完美收官。...方案:一个大胆的猜想,如果把视图的数据放在一个TABLE里面,直接查只有941条数据的TABLE,这是不是会避开多个conf表的热快问题? 不管应用是否接受,先试验一下: ? ?...性能观察 如下是秒杀核心SQL的性能变化展现: ? ? 经验总结 从这次方案可以总结出一点经验: HINT只是临时的纯技术解决方案,往往不是最好的优化。 敢于创新是性能优化的精髓。。 ?

64860

asp.net 建多个项目实现三层的实例——读取一张表中的记录条数

三层架构我自己也不是很熟,只是大概的知道其工作原理,以及构建流程,这里贴出传智博客的老师讲解的一张原理图,然后就略过了,毕竟本人太菜,不敢误导别人。 ?   ...如上图所示,是一张三层结构工作原理图,三层结构分为 UI(视图层):人眼直接能看到的内容,如winform,website; Bll(业务逻辑层):处理与业务相关的逻辑; Dal(数据访问层):只负责接收业务逻辑层的调用...2.选择其他项目类型下的VS'解决方案 ==》空白解决方案,命名,选择保存路径后点击确定; ? ?...SqlHelper这个类是需要自己封装的一个数据库操作类,这个类怎么封装不是我今天要记录的内容,以后有时间会记录一下的。...那么问题来了,在哪里搞呢,自己写一个,不,不是的,这是个系统自带的东西,我只需要引用进来就行了; 怎么引用,往下看: (1)右击Dal下的引用,点击 添加引用 ==》程序集 ==》 框架(如果最近引用过可以点击最近

1.2K20

【开源】QuickPager 分页控件的内部结构,和OO原则与设计模式

关于分页的解决方案有多种,一种实现方式可以用一个“分页控件”(我的解决方案),也可以用其他的方式来体现(比如LinQ、ORM)。...2、LinQ      利用LinQ来分页的话,那么他就会把生成分页算法(SQL语句)、提交到数据库、得到记录集、填充到实体类都包含进去了。...一个分页控件要实现这么多的事情,是不是会很复杂、耦合度也高了,严重的违反了单一职责呢? 简单的看确实是这样,但是仔细看一下分页控件内部结构,就会发现不是这样的。...这样是不是说可以符合了单一职责呢? 2、开放封闭原则。           上面说了,要增加一个分页算法的话,只需要加一个子类就可以了,不用修改其他的代码,这个就是开放封闭原则吧。...这个图和上面的是不是很像?

69660

LINQ to SQL中使用Translate方法以及修改查询用SQL

,意思就是不能在LINQ to SQL中显式构造Demo.Item对象。   事实上在RTM之前的版本中,以上的语句是能运行通过的——我是指通过,不是正确。...很可惜这个Bug我只在资料中看到过,而在RTM版本的LINQ to SQL中这个Bug已经被修补了,确切地说是绕过了。...因此我们在开发程序的时候一定要注意这一点。...现在这种做法既保证了使用LINQ to SQL进行查询,又构造出Item对象的部分字段,算是一种较为理想的解决方案。...[CreateTime] DESC   由于我们所使用的query实际上是用于生成一系列匿名对象的,而这些匿名对象所包含的是“OwnerID”而不是“UserID”,因此LINQ to SQL实际在生成

4.8K50

.NET面试题系列 - LINQ to SQL与IQueryable

- Jon Skeet LINQ to Object和LINQ to SQL有何区别? LINQ to SQL可以将查询表达式转换为SQL语句,然后在数据库中执行。...LINQ to Object的数据源总是实现IEnumerable(所以不如叫做LINQ to IEnumerable),相对的,LINQ to SQL的数据源总是实现IQueryable<...通过手动解析表达式树,我们可以植入自己的逻辑,从而实现LINQ to SQL不能实现的功能。 ? 当然,例子只是最最基本的情况,如果表达式树变得复杂,生成出的sql很可能是的。...不是所有的表达式树都可以翻译成SQL。例如ToUpper就不行。 自己写一个ORM意味着要自己写一个QueryProvider,自定义Execute方法来解析表达式树。...将程序员从对SQL语句的拼接(尤其是insert)中解放出来,它既容易,又很难发现错误。现在插入的对象都是强类型的,就犹如插入一个List一样。

1.6K10

一步步学习EF Core(3.EF Core2.0路线图)

嗯..下面就是微软爸爸觉得需要,但是还在研发 或者斟酌的东西:   3.1Query(查询) 改进的Linq翻译将使更多的查询成功执行,使得更多的逻辑在数据库(而不是内存中)中进行查询,从而减少不必要的数据库访问...EF Core 2.0 预览版本中的全局查询过滤器已经解决了这一点 简单的命令拦截提供了在发送到数据库之前/之后读取/写入命令的简单方法。...改进的LINQ翻译(来自于GitHub上的各种问题) - 允许更多的查询成功执行,更多的逻辑在数据库中执行(而不是内存中),从而减少不必要地从数据库查询数据。...GroupBy翻译#2341 - 允许使用GroupBy()运算符翻译LINQ查询,该项目用于汇总要使用GROUP BY转换为SQL查询的函数。...,是不是有种拨开云雾见太阳的感觉.. 2.EF.Functions.Like()(#2850) - 这个目前是只加入了like,后期还要加入更多的数据库函数.大大增强了代码可读性和效率

3K90

编程之魂之C# – 与C#之父Anders的访谈

您是从Turbo Pascal的实现者起步的,从实现者到设计者是不是一个自然的过程呢? Anders Hejlsberg: 我认为这是一个非常自然的过程。...如果我们说:“让我们只是将SQL塞进那里或者完全是SQL服务器特定的东西,而且只是谈论数据库,然后想要使用LINQ这类的东西”,我们可能会更快一些安装LINQ之类的工具,但是它还没有那么通用,尚不足以成为通用编程语言的一部分...它为你提供了很好的洞察力,看看人们是否已经熟悉了你的工作,无论你是不是通过正确的方式完成的。它教会了你面向未来的一些东西。 译注5:在计算机行业中,通常用几代来表示编程语言的发展。...随后,我们逐渐地找到了问题的解决方案。其中一 些只是人们讨论的简单问题,那恰好也是我们要解决的。另一些确实是人们从未谈论过的大问题,比如说LINQ。...为了能够做到这一点, 你需要用到一些东西,比如说lambdas和闭包。对你来说,为了能够在并行环境中做到这一点,你还需要保证这些lambdas是否纯粹,或者它们是否具有副作用。

76720

一个导数需求的演进过程

第一次优化 我们看下,这个程序是否存在优化的空间。...解决方案2: ps = conn.prepareStatement(sql); ps.setFetchSize(10000); 即在执行conn.prepareStatement(sql)之后,执行ps.executeQuery...此处提示溢出,还是因为他会缓存一次读取数据库A的数据集太大了,超过了JVM设置的内存大小。 解决方案1, 调小批量提交的数量。...解决方案2, 不再使用type和concurrency参数, pstmt = getConn().prepareStatement(sql) 从这个案例中,能得到很多经验, 1.从应用设计看,对重要的操作...3.对开发来说,一些SQL的基本性能问题,或者易点,应该有意识积累,例如索引字段不能使用函数,但是从另个角度,术业有专攻,我们能通过一些技巧,帮助他们发现这些问题,这个最近有所实践了,找个机会,可以和各位分享

58510

ORM查询语言(OQL)简介--概念篇

(Structured Query Language)结构化查询语言,相比高级程序语言(命令式语言)而言,SQL主要描述想要做什么,而不是命令式语言的具体如何做,因此,SQL也被称为第四代语言(4GL)...所以,我们见到很多使用了ORM的项目,不管数据是否全部需要,先拿出来再说,不管主键是不是int 类型,先定一个方法在那里,大不了是个空方法,不管当前实体是否需要Delete功能(比如某些系统用户数据是不能删除的...三、ORM查询语言  1,分离关注点   那么,这些问题ORM能够解决?...ORM查询语言,其实早就有了,从早期的Hibernate的HQL,到MS的LinqLinq2SQL,EF其实内部都是使用Linq生成的SQL),它们都可以生成复杂的SQL语句,它们都是直接作用于ORM...整体思想就是,用面向对象的方式来操作数据库,用OO的方式来写SQL! PS:OQL与LINQ相比,它更接近于SQL风格,用惯了SQL的人,第一次接触LINQ是很不习惯的,至少我是如此。

2.4K100

编写高质量代码改善C#程序的157个建议

实际上是基于扩展方法和lambda表达式的,理解了这一点就不难理解Linq。...; } Console.ReadLine(); } 这代码很简单,看执行结果 在延迟求值的情况下,只是定义了一个查询,而且不是立刻执行...对查询调用ToList、ToArray方法,将会使其立即执行,由于对list[0]的修改是在temp2查询之后进行的,所以针对list[0]的修改不会影响到temp2的结果。...在使用Linq to SQL时,延迟求值能够带来显著的性能提升。举个例子:如果定义了两个查询:而且采用延迟求值,CLR会合并两次查询并生成一个最终的查询。...——我能看一下你的护照?  Here is my passport / Here it is.——这是我的护照。 3、What‘s the purpose of your visit?

74040

Spark 高难度对话 SQL Server 续篇

商业数据库这边明显已经冷了下来,$1100 一天的峰会价格,并不是每个企业都吃得消,再者,在东半球上海举行的 QCon 已经吸引了更多的关注,那里的互联网应用似乎更加吸引资本的青睐,入会价格同样不低,接近...SQL Server: 有时间,给我讲讲你们的内幕呗。 Spark: 我们一窝子都是壮士,有啥好讲的,你们那里不是妹子多嘛。...但是和其他语言不一样的是,我们定义的 RDD 操作,并不是每一步都随行同步执行的。这一点非常关键,否则你无法理解,我们的并行处理。...但 Spark 却不是。代码的执行,在 transformation 阶段,也只不过是在完成数据流的定义而已,真正执行数据的统计聚合操作,都是在 action 阶段。...DSL 类似于 c# 的 LINQ, 不过你们的名字很欧口,LINQ,怎么读呢,Q的发音是 ke ?反正就是类似的一套 api 接口,看 scala 源代码就知道怎么玩弄这些 api 了。

35910

为什么你写的营销创意行不通?

92.jpg 因此,当你正在遭遇这样的事情的时候,你可能需要注意: 1、学会思考 这不是一本通俗易懂的文章,介绍如何获得完美的营销创意,它是速成班,应该使您清楚地了解文案写作的要点,也就是说,如果您自己做的话...即使您不是互联网营销商,也应该熟悉相关行文的技巧,我的意思是,与产品有关的不仅仅是营销人员,对?产品通常来自像您和我这样的网民,他们沉浸在某个领域并最终成为该领域的专家。...但这是不是因为他们不想花钱,而是因为他们害怕依靠信任。 这可能不一定是您的,尽管最终您必须将其视为要克服的最大障碍。 那么,您如何克服信任障碍?...当您遇到了问题,你可能会有解决方案。但是,您的大部分内容创意,将不得不面对回答为什么您的解决方案是最佳解决方案的挑战。...您的潜在买家知道这一点,它总是有决策权,所以告诉那个人,如果他不愿意关注到您的产品,那为什么会蒙受损失。 这也是您通常你在撰写相关营销创意中,必须提及的。

22340

.NET深入解析LINQ框架(四:IQueryable、IQueryProvider接口详解)

经过前三篇文章的详细讲解,我们基本上对LINQ框架的构成原理有了一个根本的认识,包括对它的设计模型、对象的模型,知道LINQ的查询表达式其实是C#之上的语法糖,不过这个糖确实不错,很方便很及时,又对一系列的...如果应用框架具备一定的查询能力是不是很方便些。...这样我们是不是很优雅的执行了以前BLL层处理的逻辑判断了,而且这部分的扩展方法是可以动态的更改的,完全可以建立在一个独立的程序集当中。...我们在编写Linq语句的时候一般都是 where什么然后select 什么,至少连续两个扩展方法的映射调用,但是朋友你知道它内部是如何处理的?...所以要注意本次的调用将是接着上一次调用,而不是以个新的开始。理解这一点对后面的LINQ分析很关键。 ?

1.4K11

MYSQL 主从复制同步了没,监控Seconds Behind Master ,别打脸

老板走后,和小文说,以后老板问问题,明白的你说,不明白的别瞎说,你今天看造化吧,希望老板别找你麻烦。小文不高兴的回嘴到,我哪里错了。...看主从差异不就是看 seconds_behind_master,是0 就没差异。 那我们就看看光看 seconds_behind_master 来作为主从差异评判的标准是对的?...等于0 说明SQL 线程解析relay_log 到目前的从库是没有延迟的。...小文反驳道,那不就是看 SBM 是不是0 就可以判断从库是不是落后主库了 , 以下的情况会出现问题 1 由于主库的性能问题,或者网络问题,抓取binlog 到 从库本身就已经出现延迟了,那通过SBM...还能得到,主从之间准确的差距

1.3K40

C#:昨天,今天和明天:和 Anders Hejlsberg 座谈,第三部分

Hejlsberg:为了表明这一点是如此的重要,我们来举例说明吧。在 C# 3.0 中我们引入了和语言集成的查询符号:LINQ。我们做的事情是:把查询的语言做成API的方式变成了可能。...但这并不是一个普通意义上的参数,因为我并没有把它作为一个 布尔 值参数,很显然这个参数首先被计算,然后在传递进去。我并不想看到 真 或者 假,我只是想传递 测试 本身。你知道我刚才讲的意思?...这就是说:把人们常用的这种情况作为一公民来对待。 对于我,一个语言的设计者,这个问题就是:人们在这里会做什么呢?在编程中什么是应该作为一公民来对待的。...Osborn:对于 2.0 来说,我们看到微软是不是也是按照标准实现的? Hejlsberg: 2.0 ? Osborn:对 2.0 。 Hejlsberg:没错。...我们希望公平简短的社区投票,在这一点上,这的确是个问题。这些事情都已经发生了,我们已经这么干了。参考:C# 和 CLI 变得更加强大。 Osborn:是不是大概就在今年年底?

93540

中国可以没有俞敏洪, 区块链不能没有这些女王们, 女性从业者现状调查 | 特辑

如今有越来越多人开始意识到这一点,开始致力于推动女性在区块链行业的影响力和数量上来。...看看这粉红的色调和清一色的女嘉宾,是不是也很想去「现场学习」?...华尔街会接受区块链? 3. 「数字货币」和「加密货币」是一回事? 4. 我们时候我们才能看到更多关于区块链的标准? 5. SEC(美国证券交易委员会)会对加密货币进行监管?”...此外,更多的女性投入区块链领域才能真正找出适合女性需求的解决方案。...她层获得过数不清的企业家奖项,也曾对美国关于区块链的立法有过一些影响,在她的促进下美国立法通过了5条法案。

59820
领券