gpt4 book ai didi

c# - Linq no-noes - 捕获所有类似 sql 的选择?

转载 作者:太空狗 更新时间:2023-10-29 23:04:27 24 4
gpt4 key购买 nike

作为初级开发人员,您曾被灌输的一件事是您永远不会对数据集执行“SELECT *”,因为出于多种原因它是不可靠的。

自从转向 Linq(首先是 Linq to SQL,然后是 Entity Framework)后,我想知道 Linq 等价物是否同样不受欢迎?

例如

var MyResult = from t in DataContext.MyEntity
where t.Country == 7
select t;

我们是否应该选择只包含我们想要明确提及的字段的匿名类型,或者由于围绕他们提供的数据提供的额外内容,现在 LinqToSql 等人是否可以接受全部选择?

问候

哞哞

最佳答案

这不是不受欢迎的,它是由您的用例决定的。如果你想更新结果并保留它,那么你应该选择 t,但是如果你不想这样做并且只是为了显示目的而查询,你可以通过选择属性来提高效率你想要:

var MyResult = from t in DataContext.MyEntity
where t.Country == 7
select new { t.Prop1, t.Prop2 };

这是出于几个原因。匿名类型的填充速度稍快,但更重要的是它disables change tracking ...因为您无法持久化匿名类型,所以无需跟踪对其的更改。

Here's an excellent rundown of the common performance areas like this刚开始的时候很好。它还包括对我刚才描述的更改跟踪的更深入的解释。

关于c# - Linq no-noes - 捕获所有类似 sql 的选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2147354/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com