【发布时间】:2016-12-03 14:27:21
【问题描述】:
在默认的asp.net应用程序中,我想访问其他用户的数据。在我的数据库表 ASPNETUSERS 中,我有 Id、Email、Password、Gender 等列。现在我希望能够搜索特定 Id 并获取该用户的全部详细信息,例如他/她的电子邮件、密码、性别等。那么如何我这样做吗?
我是否使用原始 SQL?如果有怎么办? (SO 上有人提到这是个坏主意)
我使用模型还是其他东西?如果有怎么办?
这是我的 ASPNETUSERS 表信息。这是我在控制器中的操作。我希望能够获得一个名为“stackoverflow@gmail.com”的用户并将他的所有详细信息(无论我的表中有什么)发送到视图。
private ApplicationDbContext db = new ApplicationDbContext();
public ActionResult Index(string id = "")
{
//db.someCommand or something to let me get stuff about
//stackoverflow@gmail.com. Could it be db.Database.ExecuteSqlCommand ?
return View("Send All details about my stackoverflow user");
}
编辑:这是我之前尝试过的。我尝试使用原始 sql 并将其转换为字符串(用于测试)并将其写入桌面上的文件。这样我想我至少会知道我的数据库中的数据在传递给我的视图之前会正确地传回给我。
这是我在操作返回之前添加的代码行。
System.IO.File.WriteAllText(@"C:\Users\Admin\Desktop\log.txt", db.Database.ExecuteSqlCommand("select * from dbo.AspNetUsers").ToString());
这样做没有任何错误,但我希望上图中的数据会发布到桌面上名为 log.txt 的文件中。但是我打开log.txt文件却发现里面贴了“-1”。
【问题讨论】:
-
我尝试了 Database.SqlExecuteCommand 并尝试将其转换为字符串并将其写入文件,但在我的文件中添加了“-1”,没有其他任何内容。
-
向我们展示一些代码,给我们一些可以使用的东西。
-
这就是我所做的。
System.IO.File.WriteAllText(@"C:\Users\Admin\Desktop\log.txt", db.Database.ExecuteSqlCommand("select * from dbo.AspNetUsers").ToString()); -
请edit您的帖子包含您对问题的任何其他信息。避免在 cmets 中添加它,因为它们更难阅读并且更容易删除。帖子的编辑按钮就在帖子标签的下方。
-
另外:您能否详细说明您的代码“不起作用”的原因?你期待什么,实际发生了什么?如果您遇到异常/错误,请发布它发生的行和异常/错误详细信息。请edit这些详细信息,否则我们可能无法提供帮助。
标签: c# asp.net sql-server asp.net-mvc asp.net-mvc-4