【问题标题】:Can I use pure SQL in ASP.net MVC?我可以在 ASP.net MVC 中使用纯 SQL 吗?
【发布时间】:2011-01-04 22:06:58
【问题描述】:

大家好,我需要为我的数据库项目使用纯 SQL 查询 同时我想使用 ASP.net MVC,这样我就可以学习一门新技术了!!! 我可以在不使用“LINQ to SQL”的情况下将 SQL 与 ASP.net MVC 一起使用吗?! 我还在学习,所以如果使用旧学校的东西这么愚蠢,我很抱歉 但我的导师坚持说他想看 PURE SQL Queries

【问题讨论】:

  • 您获得的帮助数量与您使用的大写字母和感叹号的数量不对应。存在反相关(如果有的话)。

标签: sql asp.net-mvc database linq-to-sql


【解决方案1】:

是的。您可以使用任何您想要的模型层。请注意,您也可以将原始 SQL 查询与 LINQ To SQL 一起使用。

Northwnd db = new Northwnd(@"c:\northwnd.mdf");
IEnumerable<Customer> results = db.ExecuteQuery<Customer>
(@"SELECT c1.custid as CustomerID, c2.custName as ContactName
    FROM customer1 as c1, customer2 as c2
    WHERE c1.custid = c2.custid"
);

或者您的讲师可能想要直接使用 ADO.NET,它也可以正常工作。 有一个example here

【讨论】:

  • 你能解释一下我怎么能用一个简单的问题来做。找了好久:S
  • 您是在问如何使用 ADO.Net?
  • 我想要你说的 RAW SQL !!
  • @iyad:请澄清您的要求。如果你只想执行 SQL 语句,你可以使用你的数据库平台而不使用 ASP.NET MVC。
  • 不不,我想使用 ASP.net 做整个网站“它不需要使用 .NET MVC”,但用于学习目的。但我也应该提交 SQL 查询。这就是为什么我不想使用 ADO.NET“创建模型并使用方法......如果我的要求不清楚,我真的很抱歉,但我对这些东西很陌生
【解决方案2】:

您可以在 ASP.Net MVC 中使用原始 SQL 查询,就像在其他任何地方使用它们一样。

使用类似的成语会很有帮助

using (var reader = command.ExecuteReader())
    return View(reader.Select(dr => new { Name = dr["Name"], ... }));

编辑:您似乎在问如何使用 ADO.Net。
试试this tutorial

【讨论】:

  • 使用这些方法对我没有用,医生希望看到类似“Select Dr where name = ".." ;
  • @iyad: 排在前面。
  • 那你问的是ADO.Net;您的问题与 MVC 无关。
【解决方案3】:

当然,您可以在 ASP.NET MVC 中使用 SQL。我会考虑将 SQL 代码保留在存储过程中,而不是直接在应用程序代码中对 SQL 进行硬编码。最好保持这种做法,这是一种很好的做法,您的导师可能会考虑。

【讨论】:

  • 老兄,检查你的问题的标题。它以“Can I”开头 xD LOL
【解决方案4】:

SQL 与 ASP.NET MVC 无关。 ASP.NET MVC 是一个用于构建网站和应用程序的 Web 框架。我的建议是您尝试尽可能多地抽象,MVC 应用程序不应该知道您使用的是 SQL(存储过程)、实体框架、Linq-to-sql 还是从 Web 服务获取数据.

【讨论】:

    猜你喜欢
    • 2011-05-17
    • 1970-01-01
    • 2016-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-09
    • 2011-12-01
    • 1970-01-01
    相关资源
    最近更新 更多