【发布时间】:2014-02-14 11:43:16
【问题描述】:
我正在尝试为自己创建一个 ebank,所以这并不严重。这是我的结构:
到目前为止我取得的成就:如果用户登录并点击 Ebank 操作链接,我会为他/她显示所有数据(我的意思是如果登录 userId==1 我也用 userId==2 显示所有数据,这是我要更改的)。
public ActionResult Index()
{
var bankaccounts = db.BankAccounts.Include(b => b.Type).Include(b => b.Balance).Include(b => b.UserProfile);
return View(bankaccounts.ToList());
}
如果我是对的,我必须更改此“var bankaccounts”行。如果我在“return view(bankaccounts.ToList())”行设置断点,我会从“bankaccounts”获得以下数据:
{
SELECT
[Extent1].[BankAccountId] AS [BankAccountId],
[Extent1].[UserId] AS [UserId],
[Extent1].[AccountName] AS [AccountName],
[Extent1].[AccountType] AS [AccountType],
[Extent1].[AccountNumber] AS [AccountNumber],
[Extent1].[AccountStatus] AS [AccountStatus],
[Extent1].[AccountAvaiability] AS [AccountAvaiability],
[Extent2].[AccountType] AS [AccountType1],
[Extent2].[TypeName] AS [TypeName],
[Extent3].[BalanceId] AS [BalanceId],
[Extent3].[BalanceAmount] AS [BalanceAmount],
[Extent3].[TrustAmount] AS [TrustAmount],
[Extent4].[UserId] AS [UserId1],
[Extent4].[UserName] AS [UserName]
FROM [dbo].[BankAccount] AS [Extent1]
INNER JOIN [dbo].[Type] AS [Extent2] ON [Extent1].[AccountType] = [Extent2].[AccountType]
LEFT OUTER JOIN [dbo].[Balance] AS [Extent3] ON [Extent1].[BankAccountId] = [Extent3].[BalanceId]
INNER JOIN [dbo].[UserProfile] AS [Extent4] ON [Extent1].[UserId] = [Extent4].[UserId]}
问题:
我在代码中找不到任何真正的 sql 命令(它是由 mvc 自动生成的),所以如果我是对的
- 此“var bankaccounts”行是否执行 sql 选择?
- 如果是,怎么做?
- 完成此类编程后,我可以在哪里阅读?
- 我想将此代码更改为“select ... where userid == websecurity.CurrentUserId”之类的内容,您能帮我解决这个问题吗?
- 还有哪些我应该采纳或阅读的想法、建议?你说的越多我能学到的越多!
【问题讨论】:
-
欢迎来到 LINQ 世界,您可以使用
DBQuery运行 sql 脚本。结帐 -> msdn.microsoft.com/en-us/data/jj592907.aspx -
您应该在 Google 上搜索“对象关系映射器”一词。这回答了你所有的问题。
标签: c# sql-server asp.net-mvc asp.net-mvc-4