我有一个问题。ASP.NET MVC 3多个模型使用数据库的单个窗体
我的问题实际上是扩展了从this之一:
不久 - 我想:3个模型,以及1超级模特这个特定视图。这个超级模型填充(正确)IENumerable,IENumerable,IENumerable,在View部分中使用它们。 (据我所知,至少...)
在这个话题等雷维尔丹柠提出了很好的和优雅的解决方案,但这种方法不能从DB本身获取数据...
问题: 必须做什么才能从数据库中获取此模型中的数据,而不是来自“新”实例构造函数?
虽然使用这种方法试图从DBContext中获取数据。并得到了一些问题)我无法理解何时(或如何)创建我的DBContext ...或如何访问由应用程序创建的一个...
试图在Controller中强制创建它,
using (var Db = new thetaskermvc.Models.TaskerDBContext())
{
var themodel = new thetaskermvc.Models.TotalView();
//Jobbers
themodel.Jobberz = new Dictionary<int, thetaskermvc.Models.Jobbers>();
var jobbers = from Jobbers in Db.Jobbers.OrderBy(g => g.jobb_name) select Jobbers;
foreach (Models.Jobbers ad in jobbers)
{
themodel.Jobberz.Add(ad.jobb_id,
new Models.Jobbers(ad.jobb_id, ad.jobb_name, ad.jobb_from, ad.jobb_carma, ad.jobb_status, ad.jobb_balance, ad.jobb_time));
}
if (themodel.Jobberz.Count == 0)
{
themodel.Jobberz.Add(-1, new Models.Jobbers(0, "NOTHING FOUND",DateTime.Now,0,"",0,0));
}
}
但作为创建方式背景信息停止它的存在,从控制器将数据传递路程后(?) - 我不能用任何其他方法,但得到这个控制器内部的所有数据,并通过填写模型数据直接添加到集合中(尽管使用IENumerable会根据需要提取数据,就我所知而言)。
所以..如果不是很难,请启发我 - 可以使用这种方法,还是有其他“常用”方式?旁边因为...它的笨拙 - 这个方法效果...
PS我是很新的天冬氨酸,可是...
完美解答我的问题!我可以看到究竟要做什么以及如何:) 非常感谢。 – 2012-03-21 14:14:42
只是不要忘记标记我的答案:) – 2012-03-22 08:10:59
很好的答案。我想补充一点,如果您使用的是已导入的数据实体,那么您可以通过将Linq查询直接用于控制器创建模型的过程中一起跳过版本库,[以下是一个示例我在说。](http://pastebin.com/vhgiNzyy) – 2012-07-27 20:04:09