【发布时间】:2026-01-06 09:30:01
【问题描述】:
我一直在查看 Microsoft 示例并且大多数使用实体框架。但是,当我需要快速连接时,这似乎有点过分了。从报告中获取一些数据并将其返回到我的网页。编写复杂的 SQL 等可能需要多表连接和一些输入参数的东西似乎也很困难。
那么还有哪些其他选择?
【问题讨论】:
-
如果您不喜欢 Entity Framework,您可以使用 ado,datareader 非常快,您可以使用它填写您的列表或数据表。同样使用 .net,我相信您可以从 sql 中更轻松地处理情况,您可以更轻松地调试它们。
-
您建议的“from sql”解决方案是什么?我的应用程序的某些部分也已经使用了 EF,但我注意到做复杂的事情并不是那么容易。我不是在寻找替代品。只是连接到数据库的其他方式。
-
就我个人而言,我正在使用数据阅读器(简单而快速)来填补我的课程。 Datareader 从 sql 命令填充。因此,在命令文本中,您可以编写您想要的任何 sql 或过程。因此,一旦您拥有数据 .net,就可以非常轻松地管理它们。
-
DataReader - SqlDataReader - 是唯一的方法 - 其他东西都建立在它之上;)答案是固执的 - 例如,除非有充分的理由,否则我们在公司的任何地方都使用 EF,无论如何琐碎的项目。而你的“复杂”是我们很容易的——如果我们重构映射,我们会得到编译错误,而不是运行时错误,因为 SQL 不再符合现实。
-
@SamanthaJ - 是的。只要我不使用查询生成器,我总是使用 EF 或其他 LINQ 提供程序,因为我真的更喜欢编译器告诉我在运行时错误报告的字段更改后我的查询是废话。 EF 和其他工具完全能够不引入实体。对于 EF,它很简单 - 不要求实体,而是投影到非实体(Select (x=>new {}) 并且不会加载任何实体。即使有更大的数据分析,我也会使用 EF,尽管有调用SP 和使用视图。
标签: c# asp.net sql-server asp.net-mvc asp.net-web-api