gpt4 book ai didi

c# - Linq To SQL 设计查询/担心

转载 作者:行者123 更新时间:2023-11-30 22:34:14 28 4
gpt4 key购买 nike

我想知道是否有人可以指出正确的方向。我最近开始使用 LinqToSQL 并喜欢强类型数据对象等。

我只是在努力了解对数据库性能等的影响。例如,假设我正在开发一个简单的用户配置文件页面。该页面显示有关用户的基本信息、有关他们最近事件的一些信息以及未读通知列表。

如果我为此页面开发一个存储过程,我可以创建一个 SP,它返回包含所有必需信息的多个数据表 - 导致单个数据库调用。

但是,使用 LinqToSQL,这可能会导致多次调用 - 一次用于用户信息,至少一次用于事件,至少一次用于通知,如果我随后需要有关通知的更多信息,这可能会导致进一步的调用 - 多个数据库调用。

我是否应该担心由于使用此设计模式而发生的数据库调用次数?即,多个数据库握手等是否会降低我的数据库等?

我很感激你对此的看法!

谢谢大卫

最佳答案

如果需要,LINQ to SQL 可以使用存储过程中的多个结果。不幸的是,设计者在正确映射它们时遇到问题,因此您可能需要手动创建映射。参见 http://www.thinqlinq.com/Default/Using-LINQ-to-SQL-to-return-Multiple-Results.aspx .

如果您知道每个父记录都需要子记录,则可以将 LINQ to SQL 配置为预先加载子记录。使用 DataLoadOptions 和 .LoadWith 对其进行配置。

您还可以在 LINQ 查询的 Select 子句中投影具有多个子集合的对象图,以减少您进行的数据库命中次数。

最终,您需要检查多个选项以确定哪条路线最适合您的情况。这不是一种放之四海而皆准的方案。

关于c# - Linq To SQL 设计查询/担心,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7926368/

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