相关疑难解决方法(0)

将SQL保存在存储过程与代码中的优缺点是什么

在您的C#源代码或存储过程中保留SQL有哪些优点/缺点?我一直在与一位朋友讨论我们正在开发的一个开源项目(C#ASP.NET论坛).目前,大多数数据库访问都是通过在C#中构建SQL内联并调用SQL Server DB来完成的.所以我试图确定哪个特定项目最好.

到目前为止,我有:

代码中的优点:

  • 易于维护 - 无需运行SQL脚本来更新查询
  • 更容易移植到另一个数据库 - 没有移动到端口

存储过程的优点:

  • 性能
  • 安全

c# sql sql-server stored-procedures

274
推荐指数
17
解决办法
7万
查看次数

LINQ初学者指南

在Stack Overflow测试期间,我看到了很多关于LINQ SQL的问题,但对它一无所知......这听起来很有趣.

什么是LINQ,我该如何开始?

链接指南或文档奖金:)

PS:我是一名长期使用Datatables和Parameterized SQL的C#开发人员

linq .net-3.5

36
推荐指数
6
解决办法
2万
查看次数

为什么人们使用linq来sql?

鉴于前提:

  • 有称职的SQL程序员(相关 - 编写SQL查询不是问题)
  • 有称职的应用程序开发人员(相关 - 有简单/强大/灵活的架构,用于处理连接和代码中的简单查询)

为什么人们使用linq来sql?

  • 每笔交易都增加了开销
  • 对于中等复杂的计算,很可能会出现性能损失(数据库用于处理集和计算,并且有工程师团队正在进行优化 - 为什么要搞这个?)
  • 缺乏灵活性(如果要添加另一个ui(非.NET应用程序)或访问方法,则必须将查询放回到数据库中或创建单独的数据访问层)
  • 由于没有对db进行写/更新/读取的集中控制而导致安全性下降(例如,记录已更改 - 如果允许应用程序使用linq to sql进行更新,那么您无法证明哪个应用程序更改了它或者是什么应用程序的实例改变了它)

我一直看到关于linq到sql的问题,我想知道我是否遗漏了一些东西.

linq linq-to-sql

21
推荐指数
5
解决办法
6972
查看次数

LINQ和存储过程之间的性能差异

有关

LINQ-to-SQL vs存储过程?

我已经听过很多关于预编译存储过程的优点的讨论.但是LINQ和选择,插入,更新,删除的存储过程之间的实际性能差异是什么?有没有人进行任何测试,看看是否有任何重大差异.如果更多的交易有所作为,我也很好奇.

我的猜测是LINQ语句在第一个事务之后被缓存,并且性能可能几乎相同.思考?

linq sql-server stored-procedures

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

针对SQL等效的LINQ查询的性能

我目前正在和一个正在讨论LINQ查询性能的人进行辩论.

有没有人对此进行过任何科学测试?

如果没有,出于性能原因,你必须用SQL查询替换LINQ的轶事证据将帮助我说明问题.

.net sql linq performance

10
推荐指数
2
解决办法
2825
查看次数

LINQ的速度有多快?

我需要操纵100,000到200,000条记录.
我正在考虑使用LINQ(到SQL)来做到这一点.
我从经验中知道过滤数据视图非常慢.
那么LINQ有多快?

你能否告诉我你的经历以及它是否值得使用,或者我会更好地使用SQL存储过程(繁重且不太灵活)?

在成千上万条记录中,我需要查找数据组然后处理它们,每组有大约50条记录.

.net linq linq-to-sql

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

亲爱的DBA - 我想使用LinqToSQL而不是存储过程,因为

在我的组织中,我们必须回答一个单独的DBA小组来做出像使用LinqToSQL这样的决定.您认为使用L2S而不是存储过程的一些最佳原因是什么?

stored-procedures linq-to-sql

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

没有跳过Linq的潮流,你不使用linq的原因是什么?

我似乎是少数,但说实话,我对linq感到不舒服,并没有看到我的个人发展有任何好处(不是说没有任何好处,只是基于我的情况的个人意见).

我构建了Web应用程序(.net,.net mvc),我喜欢在存储过程中使用部分数据层.我喜欢sprocs的一件事是我可以生成整个数据库到脚本,然后在高级别扫描我的查询,我可能添加的可读查询.

对于那些不喜欢linq的人,你的理由是什么?是缺乏知识/学习曲线还是没有使用它的商业案例?

.net linq methodology

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

Linq2Sql与存储过程

如果这是一个重复的问题,请道歉,但在执行Linq2Sql中的SQL语句与执行存储过程之间是否存在真正的区别?

有什么好处?(如果有的话)

.net sql linq-to-sql

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

.Net如何使用上下文处理LINQ-To-Entity中的连接?

我在我的项目中使用Linq-To-Entity.但是,我在使用Stored ProcedureLINQ to Table or View在某些情况下犹豫不决.不过,我一般喜欢使用LINQ,因为的普莱语法.我搜索过谷歌,但没有找到详细的问题.

我们考虑一下这段代码:

using (NorthwindEntities db = new NorthwindEntities())
{
    var custs = from c in db.Customers where c.City == "London" select c;
    var edus = from c in db.Educations where c.Education != "2" select c;
    // ... and so on
}
Run Code Online (Sandbox Code Playgroud)

问题:
1.它是否为每个查询打开一个新连接?如果是,那么不建议单独使用上述查询?
2.另外,你能否告诉我有什么情况我必须使用存储过程而不是LINQ?

c# linq entity-framework

3
推荐指数
1
解决办法
335
查看次数

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

C#LINQ相当于一个有点复杂的SQL查询

所以我有一个SQL查询跟随

SELECT P.Date, P.CategoryName, P.ProductName, SUM(Quantity) Quantity, SUM(Sales) TotalSales, IsLevelThree
FROM Products P LEFT JOIN LevelThreeTracking LTT
    ON P.Date = LTT.Date AND P.CategoryName = P.CategoryName AND P.SecurityID = LTT.SecurityID
WHERE P.Date = '12-31-2007' AND P.CategoryName= 'CategoryName'
GROUP BY P.Date, P.CategoryName, P.ProductName, LTT.IsLevelThree
HAVING SUM(Quantity) <> 0
ORDER BY P.ProductName
Run Code Online (Sandbox Code Playgroud)

我正在尝试将其转换为C#LINQ语法,并使用2个表进行DataContext设置.我已经尝试了几次(下面的最新版本)但是生成的sql看起来非常复杂并且超时.dtpBeginning是一个DateTimePicker.

var results = from p in dbFAS.Products
group p by new {p.Date, p.CategoryName, p.ProductName}
into gp
join ltt in dbFAS.LevelThreeTracking on
new {gp.Key.Date, gp.Key.CategoryName, gp.Key.ProductName} equals
new {ltt.Date, ltt.CategoryName, ltt.ProductName} …
Run Code Online (Sandbox Code Playgroud)

linq-to-sql

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