【发布时间】:2009-09-10 09:17:59
【问题描述】:
我知道在 SOF 上有一些这样的问题,但如果有人能用例子简洁地回答它,我很感兴趣。
我是 linq 和 mvc 的新手,虽然很多东西都在坚持,但我发现很难想象我可以用数据做很多事情。这是一个例子。
假设我有 5 个表,其中一些有关系,一些没有。
我希望所有这些表中的数据都出现在我的视图中。
我应该将所有这些数据添加到模型中,并在那个阶段全部传递,还是在稍后的某个时间进行?我可以想象如何创建一个包含所有这些信息的数据集,并将其提取到视图中,但感觉不对。
我也可以想象发出 5 个单独的 sql 请求,但感觉它会违反 mvc 模式,而且我不确定所有这些将如何发送到视图,除非它们都形成一个模型。 (但是我有兴趣这样做,因为我相信这将是一种克服 linq 可能存在的性能问题的方法,但在我也有之前不会扩展,我只是喜欢它会带来的权力的想法。
我们将不胜感激任何帮助,或对教程的建议,让我在这些方面感觉更自在。
提前致谢。
这是我目前正在尝试使用的一些模型代码,在书呆子晚餐术语中
public IQueryable<Dinner> GetAllUserDinnersAndRSVP(string userId)
{
return from dinner in db.Dinners
where dinner.userId == userId
join rsvp in db.Dinners
on userId equals rsvp.userId
select dinner;
}
但是当我在视图中列出该模型中的所有项目时,我也无法让它循环遍历 rsvp 记录。
不确定这是否是一个有用的例子!!
【问题讨论】:
-
澄清一下:MVC 模式不包括数据访问。这是一种 UI 模式。您的问题仍然有效。
标签: c# asp.net-mvc linq