如何从MVC模型中的SQL Server数据库中检索一条记录

时间:2013-08-06 17:30:08

标签: c# sql-server asp.net-mvc

我正在开发Visual C#MVC项目。我在我的模型中使用数据库第一种方法。我的项目是关于开发一个用户可以购买应用程序的appmarket。我在主页中使用了局部视图,它将在不同的局部视图中包含不同应用程序的细节。在第一个局部视图中类似于App1,在第二个局部视图中类似于App2,依此类推。为此,我使用了foreach循环。

在每个局部视图中都有一个名为MoreInfo的链接,因此当用户点击它时,它们将进入MoreInfo页面。在数据库中,我有应用信息,应用程序成本,描述等字段,这些字段将显示在MoreInfo页面中。所有这些字段都在一个名为Apps表的表中。

我的问题是如果我在MoreInfo页面中使用forach循环,那么我将从数据库中获取每条记录的信息。为了更清楚,在数据库中,我有两个名为“描述1”和“描述2”的描述字段的记录。如果我使用foreach循环,那么它将显示两个视图,一个用于描述1,另一个用于同一页面中的描述2。 我想要的是第一个MoreInfo页面中的第一个应用程序的描述和第二个MoreInfo视图中的第二个描述等等。
有人可以帮助我吗? 感谢..

3 个答案:

答案 0 :(得分:1)

假设您正在使用实体框架: Enumerable.FirstOrDefault将为您完成此操作。您可以将其加载到TSource类型中。

这是一个链接:http://msdn.microsoft.com/en-us/library/bb340482.aspx

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

答案 1 :(得分:1)

如果您正在使用LINQ to SQL或EF,则可以将FirstOrDefault()添加到您的调用中,该调用将返回第一个值,或者在大多数情况下为null(引用类型的默认值)。如果你正在使用像SQLConnection这样的东西或者调用一个特殊的东西,只需将你的SELECT ... FROM更改为SELECT TOP 1 .... FROM

答案 2 :(得分:0)

你应该使用Linq根据你的情况获得一条记录。尝试这样的事情(这只是向你展示逻辑的代码,因为我们不确定你使用了哪些变量)。

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

我希望它会有所帮助。