我正在开发Visual C#MVC项目。我在我的模型中使用数据库第一种方法。我的项目是关于开发一个用户可以购买应用程序的appmarket。我在主页中使用了局部视图,它将在不同的局部视图中包含不同应用程序的细节。在第一个局部视图中类似于App1,在第二个局部视图中类似于App2,依此类推。为此,我使用了foreach循环。
在每个局部视图中都有一个名为MoreInfo的链接,因此当用户点击它时,它们将进入MoreInfo页面。在数据库中,我有应用信息,应用程序成本,描述等字段,这些字段将显示在MoreInfo页面中。所有这些字段都在一个名为Apps表的表中。
我的问题是如果我在MoreInfo页面中使用forach循环,那么我将从数据库中获取每条记录的信息。为了更清楚,在数据库中,我有两个名为“描述1”和“描述2”的描述字段的记录。如果我使用foreach循环,那么它将显示两个视图,一个用于描述1,另一个用于同一页面中的描述2。
我想要的是第一个MoreInfo页面中的第一个应用程序的描述和第二个MoreInfo视图中的第二个描述等等。
有人可以帮助我吗?
感谢..
答案 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()
我希望它会有所帮助。