質問があります。この特定のビューのために3つのモデル、および1スーパーモデル: - 私は手に入れたいものをASP.NET MVC 3複数DBを使用した単一フォームへのモデル
まもなく:
私の質問は、実際には1つthisからを拡張します。このスーパーモデルは、IENumerable、IENumerable、IENumerableを(適切に)塗りつぶしてViewパーツで使用します。 (私の知る限りそれを理解するように、少なくとも...)
この他のトピックダン・レヴェルで...
質問をverry素晴らしく、エレガントな解決策を提案したが、このソリューションは、DB自体からデータをフェッチしません。 "新しい"インスタンスコンストラクタからではなく、このモデルのデータをDBから取得するためには何が必要ですか?
このアプローチを使用している間に、DBContextからデータをフェッチしようとしました。私はDBContextをいつ作成するのか理解できません...またはアプリケーションによって作成されたものにアクセスする方法...
コントローラで強制的に作成しようとしました。
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を使用すると、必要に応じてデータを取得できます)。
だから、もし難しくなければ、私に啓発してください。そういうアプローチを使うのはいいですか、それとも他の「共通の」方法がありますか? Becausそれは不器用だそばに - このアプローチは動作します...私はASPにかなり新しいよ、まだ
PS ...
完璧に私の質問に答える!私は何をすればいいのか正確に見ることができます:) ありがとう。 –
ちょうど私の答えをマークすることを忘れないでください:) –
偉大な答え。私は、インポートされたデータエンティティを使用している場合は、コントローラによるモデルの作成にLinqクエリを直接使用して、リポジトリをすべてスキップすることができると付け加えたいと思います。私は話している。](http://pastebin.com/vhgiNzyy) –