gpt4 book ai didi

entity-framework - 将 Entity Framework 实体集合从 DAL 传递到业务层的最佳方法?

转载 作者:行者123 更新时间:2023-12-04 07:10:10 24 4
gpt4 key购买 nike

我有一个调用我的 Entity Framework 模型的 DAL。这些调用返回诸如 IOrderedQueryable 和 IQueryable 对象之类的东西。我是否应该将它们转换为我的 DAL 中更通用的东西,例如 List?但我认为如果我不需要枚举整个集合,这可能会很浪费......那么最好的方法是什么?只是让 DAL 返回 IQueryable<> 并在需要时转换它?或者还有其他更灵活的方法吗?
提前致谢。

最佳答案

我有同样的问题,但我不确定完美的答案是什么。我觉得让 DAL 返回 IQueryable<> 实际上是最灵活的,因为您可以轻松地在代码的另一层(如有必要)之上执行另一个 LINQ 查询。

另一件要考虑的事情是,当返回 IQueryable 时,结果尚未加载到内存中。所以返回的实际上是LINQ“查询”。因此,它的行为与人们可能习惯的行为略有不同,即当从模型返回某些内容时,它实际上是来自数据库的结果。

在我的情况下,我们从 DAL 返回列表(通过调用 IQueryable<>.ToList() 创建)。如果此列表需要过滤,那么我们将创建另一个 DAL 方法,该方法将返回过滤后的列表。我们选择这个是因为调用 DAL 的另一层不需要知道我们以这种方式使用 Entity Framework (没有引入依赖项)。

关于entity-framework - 将 Entity Framework 实体集合从 DAL 传递到业务层的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/496108/

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