簡體   English   中英

如何從MVC模型中的SQL Server數據庫中檢索一條記錄

[英]How to retrieve one record from SQL Server database in MVC Model

我正在Visual C#MVC項目上。 我在模型中使用的是數據庫優先的方法。我的項目是開發一個供用戶購買應用程序的應用程序市場。 我在首頁中使用了局部視圖,該視圖將在不同的局部視圖中包含不同應用程序的詳細信息,例如第一個局部視圖中的App1,第二個局部視圖中的App2,依此類推。 為此,我使用了foreach循環。

在每個局部視圖中,都有一個名為MoreInfo的鏈接,因此,當用戶單擊該鏈接時,他們將進入MoreInfo頁面。 在數據庫中,我有諸如應用程序信息,應用程序成本,描述等字段,這些字段將顯示在MoreInfo頁面中。 所有這些字段都在一個稱為Apps表的表中。

我的問題是,如果我在MoreInfo頁面中使用forach循環,那么我將從數據庫中獲取每個記錄的信息。 更清楚地說,在數據庫中,我有兩個“描述”字段的記錄,分別稱為“描述1”和“描述2”。 如果我使用foreach循環,則它將在同一頁面中顯示兩個視圖,一個用於描述1,另一個用於描述2。 我想要的是第一個MoreInfo頁面中的第一個應用程序的描述和第二個MoreInfo視圖中的第二個描述的描述,依此類推。
有人可以幫我嗎? 謝謝..

假設您使用的是實體框架:Enumerable.FirstOrDefault將為您執行此操作。 您可以將其加載到TSource類型。

這是鏈接: http : //msdn.microsoft.com/zh-cn/library/bb340482.aspx

var someobj = db.someEnumerable.FirstOrDefault(x => // Condition);

如果您使用的是LINQ to SQL或EF,則可以在調用上添加FirstOrDefault() ,該調用將返回第一個值,或者在大多數情況下返回null(引用類型的默認值)。 如果使用的是SQLConnection之類的東西或調用存儲過程,只需將SELECT ... FROM更改為SELECT TOP 1 .... FROM

您應該使用Linq來根據您的狀況獲得一條記錄。 嘗試這樣的操作(這只是向您顯示邏輯的代碼,因為我們不確定您使用了什么變量)。

var result=(from x in dbContext.TableName where column==variable select x).FirstOrDefault()

希望對您有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM