当前位置:首页 » 存储配置 » linq执行存储过程

linq执行存储过程

发布时间: 2023-03-08 08:14:50

1. linq 中怎样判断存储过程里查到是否有值求大神帮助

首先看你的存储过程是否有结果集,即是否包含SELECT 语句, 如查不包含的话, 你最好在最后加上一句 RETURN @@RowCount 然后,生成的存储过程方法,会返回一个int,是影响数据库行数 如果是SELECT的话,都可以判断,retValue.Count就行 不过这样相当于把数据拿出来,再判断 我建议你还是在存储过程里写一下 IF EXISTS (SELECT * FROM Tbl) BEGIN END 或者 INSERT INTO tbl SELECT * FROM tbl2 WHERE Exists(SELECT * FROM tbl2 WHERE XX) AND XX

2. 在aspx中如何使用linq调用存储过程

不能直接调用的,你最好在你的datacontex类中增加一个调用的方法:
[Function(Name="dbo.videohot")]
public void Pr_GetSubCategory([Parameter(Name = "videoname",DbType = "varchar(50)")])
{
this.ExecuteMethodCall(this,((MethodInfo)(MethodInfo.GetCurrentMethod())));
}

3. LINQ TO sql 有什么优缺点啊

首先,在了解 LINQ To SQL 有什么优点之前,我们有必要首先了解下,微软为什么弄了这么个东西。 搞出这个东西来有什么目的:——当然是为了 满足不知道怎么操作数据的程序员开发设计的,并不是每个程序员 都会直接操作数据库,LinQ 可以让他们以一种面向数据对象的方式来思考,及持久化他们的数据!

好处: 容易学习,书写简单。 在开发 中小型 项目 的时候推荐使用!因为可以节省时间!
它可以很方便的调用 存储过程、SQL函数

缺点:由于直接封装了所有的数据持久操作。导致批量持久数据会产生效率问题
尤其体现在批量跟新数据,它会在内存中保持大量的数据模型。

总结:中小型 项目 就放心用吧! 不过从技术 储备的角度来说,建议 看看entity framework

4. 现在在c#项目开发中“存储过程”用的多吗

存储过程用的还是挺多的,因为存储过程可以避免SQL注入攻击,同时执行效率也比直接使用SQL语句要高得多。现在你可以选择LINQ,使用更加方便,而且是面向对象的,即把SQL中每一行当做一个对象来操作,同时语句也比较直观。

5. 有了存储过程,linq to sql还有必要用么

这两者比较比较少

首先使用存储过程就是一个有争议的话题,爱使用存储过程的程序员往往会把过多的业务逻辑封装在存储过程里,导致应用程序的可移植性比较差

而且一般会说使用存储过程的性能比较高,但现在由于各种缓存技术的使用,减少频繁的查询数据库已经是共识。

一般而言使用数据库的存储过程居多还是业务逻辑处理居多基本取决于公司的技术方向,我也见到不少公司是忽视软件的开发,基本处理逻辑都是在数据库中解决的。

至于linq to sql,说句老实话谈不上是什么特别好的技术,仅凭仅能使用sql server数据库这一点,就已经限制了它的发展。看看现在多少公司还在用免费的mysql就知道了,更不要说还有那么多的开源产品是建立在mysql之上。而同类的产品Nhibernate绝不会比它差。

6. LINQ和存储过程有什么区别

你说关公和秦琼那个厉害?张飞和徐达那个厉害?
------------------------------------------------------------
恭喜你!总算知道我要说什么了!不是一个时期的东西呀!

LINQ TO SQL 只是 一种理念.一种ORM模型, 在CLR运行时进行转化,可以转化为IL, LINQ TO SQL 就可以转化为SQL报文!然后发送给数据库! 这种技术比较新! 07年开始盛行!

cs 代码写 CRUD也是 借用ADO.NET等技术. LINQ TO SQL 底层也是这个!只是高层封装了一些理念. ADO.NET本身也不错!可以直接调用指令, linq to sql 调用原始sql 指令比较麻烦. 有类型转化和安全的限制,所以linq to sql 技术是有弊病的!
cs 借助 ado.net写代码有历史沉积!所以资源多!稳定性也高!
存储过程是数据库提供的技术,跟CLR一点关系也没有. 这个历史更久了! 比net都早!

总结一下吧:
Linq to sql本质实现也是ADO.NET,是一种ORM技术!是一种理念.当然 linq to xml 等是借助CLR集合操作等技术实现. Linq to sql 运行时转化 成SQL报文 .然后发送.
代码中 的CRUD就是 ADO.NET等系列技术实现,代码发送SQL报文

存储过程的实现SQL封存在数据库,所以向数据库发送的只是调用指令. 速度体现在SQL计划编译,
指令网络传输.

到底那个优秀要看你的需要了! 比如你的数据库机器维护成本高!你不可能总让外围指令传入吧!
至少中间有个缓冲层吧! 比如报盘软件,1秒读取数据库 500万次! 靠存储过程提速那就喝西北风去吧!
存储过程如果有bug 那就是数据库灾难,你可知道sqlserver时间类型转化出错后,日志可是不能恢复的.
所以写程序找好层次也是很重要的事情!
以上都是本人所写,没有COPY任何网站的数据. 原稿原创!

7. 什么是LINQ它主要由哪些技术组成

语言集成查询(Language Intergrated Query ,LINQ),LINQ是集成到c#语言中的一个面向对象的统一查询模型,是一种独立于数据源的查询语言来访问特定数据的解决方案。LINQ也是面向对象的,而且也可以扩展,在一定程度上使c#更接近于函数式编程,使开发人员的关注焦点从数据(状态)的具体细节转移到信息(对象)行为。并且它还为数据查询提供了一个统一的模型,不再依赖于某种特定语言或技术的难以预测的变化。通过LINQ可以使用同一查询模型访问SQL数据库和XML文件,还可以用来访问数据。
技术:LINQ定义了大约40个查询操作符;如下
<1>排序
OrderBy
按升序对值进行排序。
OrderByDescending
按降序对值进行排序。
ThenBy
按升序执行次要排序。
ThenByDescending
按降序执行次要排序。
Reverse
颠倒集合中的元素的顺序。
<2>Set 运算
Distinct
从集合移除重复值。
Except
返回差集,差集是指位于一个集合但不位于另一个集合的元素。
Intersect
返回交集,交集是指同时出现在两个集合中的元素。
Union
返回并集,并集是指位于两个集合中任一集合的唯一的元素。
<3>Filtering Data(筛选数据)
OfType
根据值强制转换为指定类型的能力选择值。
Where
选择基于谓词函数的值。
<4>限定符操作
All
确定是否序列中的所有元素都满足条件。
Any
确定序列中是否有元素满足条件。
Contains
确定序列是否包含指定的元素。
<5>数据分区
Skip
跳过序列中的指定位置之前的元素。
SkipWhile
基于谓词函数跳过元素,直到某元素不再满足条件。
Take
提取序列中的指定位置之前的元素。
TakeWhile
基于谓词函数提取元素,直到某元素不再满足条件。
<6>联接运算
Join
根据键选择器函数联接两个序列并提取值对。
GroupJoin
根据键选择器函数联接两个序列,并对每个元素的结果匹配项进行分组。
<7>数据分组
GroupBy
对共享公共属性的元素进行分组。每个组都由一个 IGrouping<TKey, TElement>对象表 示。
ToLookup
根据键选择器函数将元素插入到 Lookup<TKey, TElement> (一个一对多字典)中。
<8>生成操作
DefaultIfEmpty
将空集合替换为具有默认值的单一实例集合。
Empty
返回空集合。
Range
生成包含数字序列的集合。
Repeat
生成包含一个重复值的集合。
<9>元素操作
ElementAt
返回集合中指定索引处的元素。
ElementAtOrDefault
返回集合中指定索引处的元素;如果索引超出范围,则返回默认值。
First
返回集合中的第一个元素或满足条件的第一个元素。
FirstOrDefault
返回集合中的第一个元素或满足条件的第一个元素。如果没有这样的元素,则返回默认值。
Last
返回集合中的最后一个元素或满足条件的最后一个元素。
LastOrDefault
返回集合中的最后一个元素或满足条件的最后一个元素。如果没有这样的元素,则返回默认值。
Single
返回集合中的唯一元素或满足条件的唯一元素。
SingleOrDefault
返回集合中的唯一元素或满足条件的唯一元素。如果没有这样的元素或集合不是正好包含一个元素,则返回默认值。
<10>converting Data Types (转换数据类型)
AsEnumerable
返回类型为 IEnumerable< T> 的输入。
AsQueryable
将(泛型) IEnumerable 转换为(泛型) IQueryable。
Cast
将集合的元素强制转换为指定类型。
OfType
根据值强制转换为指定类型的能力筛选值。
ToArray
将集合转换为数组。此方法强制执行查询。
ToDictionary
根据键选择器函数将元素放入 Dictionary< TKey, TValue> 中。 此方法强制执行查询。
ToList
将集合转换为 List<T> 。 此方法强制执行查询。
ToLookup
根据键选择器函数将元素放入 Lookup< TKey, TElement> (一对多字典)中。 此方法强制执行查询。
<11>串联运算
Concat
串联两个序列以组成一个序列。
<12>聚合操作
Aggregate
对集合值执行自定义聚合运算。
Average
计算值集合的平均值。
Count
对集合中的元素进行计数,还可以仅对满足某一谓词函数的元素进行计数。
LongCount
对大型集合中的元素进行计数,还可以仅对满足某一谓词函数的元素进行计数。
Max
确定集合中的最大值。
Min
确定集合中的最小值。
Sum
计算集合中值的总和。

热点内容
文件夹嗅探器foldersniffer 发布:2025-05-20 12:33:36 浏览:912
编译装入 发布:2025-05-20 12:32:48 浏览:562
万胜压缩机价格 发布:2025-05-20 12:20:00 浏览:987
判断云服务器是否诚实的存放数据 发布:2025-05-20 12:11:07 浏览:377
c语言基础书 发布:2025-05-20 12:11:00 浏览:780
java小数正则表达式 发布:2025-05-20 11:30:58 浏览:136
文件夹加密win7 发布:2025-05-20 11:27:46 浏览:838
压缩文件设置密码有什么意思 发布:2025-05-20 11:26:37 浏览:551
造梦西游qq登录如何修改密码 发布:2025-05-20 11:18:36 浏览:382
淘宝缓存清理后还是大 发布:2025-05-20 11:15:39 浏览:149