2012-01-24 8 views
1

からリストを返すリストに変換し、CUSTOMERLISTを返すために私を助けてください。この最初のコードはうまく動作します。第二の例は、フィールドが私のデータベースから来ている以外、私は同じことを達成しようとしているところです。私がやっていることに何が間違っていて、どうやってこの仕事をすることができますか? 2番目のコードは、プロジェクトのどこか別の場所で動作しますが、ここでは動作しません。、私は、データベースから情報を取得しようとしています私の方法

private SchoolIn.Models.CustomerList CreateCustomerList() 
{ 
    return new SchoolIn.Models.CustomerList() 
    { 
     new SchoolIn.Models.Customer { Id = 1, Name  = "Patrick", Address = "Geuzenstraat 29", Place = "Amsterdam" }, 
     new SchoolIn.Models.Customer{ Id = 2, Name = "Fred", Address = "Flink 9a", Place = "Rotterdam" }, 
     new SchoolIn.Models.Customer { Id = 3, Name = "Sjonnie", Address = "Paternatenplaats 44", Place = "Enkhuizen" }, 
     new SchoolIn.Models.Customer { Id = 4, Name = "Henk", Address = "Wakerdijk 74", Place = "Utrecht" }, 
     new SchoolIn.Models.Customer { Id = 5, Name = "Klaas", Address = "Paternatenplaats 44", Place = "Plaantan" } 
    }; 
} 

private SchoolIn.Models.CustomerList CreateCustomerList() 
{ 
    return new SchoolIn.Models.CustomerList() 
    { 
     SchoolInDB db = new SchoolIn.Models.SchoolInDB(); 
     var courseprogresses = db.CourseProgresses.Include(c => c.Course).Include(c => c.Teacher); 
     return View(courseprogresses.ToList()); 
    }; 
} 
+0

あなたは本当ですか? #enkhuizen – moffeltje

答えて

1

最初のものが最初のものは無効です。C#。だから私はイベントがコンパイルされないと思います。このような式をオブジェクトの初期化構文で使用することはできません。 ASP.NET MVCに入る前にC#を学んでください。

他の問題は、あなたのメソッドがプライベートであり、あなたはあなたがコントローラのアクションで行うものですビューを返すようにしようとしているということです。あなたのメソッドの戻り値の型が再び間違っているSchoolIn.Models.CustomerListであるのに対し、表示方法は、のActionResultを返します。

だから、あなたはあなたのデータベース・アクセス・コンテキストをインスタンス化し、クエリを実行し、表示のために対応するビューにモデルを返すいくつかのコントローラのアクションにこれを動かす:

public class HomeController: Controller 
{ 
    ... 

    public ActionResult CreateCustomerList() 
    { 
     SchoolInDB db = new SchoolIn.Models.SchoolInDB(); 
     var courseprogresses = db 
      .CourseProgresses 
      .Include(c => c.Course) 
      .Include(c => c.Teacher) 
      .ToList(); 
     return View(courseprogresses); 
    } 
} 

、あなたがにこれを維持したい場合別の方法:第二の機能であなたがリストを返すされていない間、あなたが実際のリストを返しているあなたの最初の関数で

private List<SchoolIn.Models.CourseProgress> CreateCustomerList() 
{ 
    SchoolInDB db = new SchoolIn.Models.SchoolInDB(); 
    return db 
     .CourseProgresses 
     .Include(c => c.Course) 
     .Include(c => c.Teacher) 
     .ToList(); 
} 
+0

コードは正常に動作しているようですが、今はエラーメッセージが表示されます:private List CreateCustomerList() { SchoolInDB db = new SchoolInDB(); { 戻りDB .CourseProgresses .INCLUDE(C => c.Course) .INCLUDE(C => c.Teacher) .ToList()。 }この記事は、あなたが答えとしてそれをマークする検討すべきであるし、問題を解決する助けている場合、 – CloudyKooper

+0

ありがとう:http://meta.stackexchange.com/questions/5234/how-does-accepting -an-answer-workの横にある目盛りをクリックしてください。 – CloudyKooper

+0

@CloudyKooperを働いた –

1

、代わりにあなたがリストとしてモデルとビューを返しました。ですから、あなたはView Resultを返す必要があります。 ActionResult。

希望します。

+0

変換エラーメッセージが表示されます。 'System.Collections.Generic.List 'を 'System.Collections.Generic.List 'に暗黙的に変換できません。\t 次のコードは次のとおりです。 ToList()を除いて動作します。 プライベートリスト CreateCustomerList(){ SchoolInDBデシベル=新しいSchoolInDB()。 戻りDB .CourseProgresses .INCLUDE(C => c.Course) .INCLUDE(C => c.Teacher) .ToList()。 } – CloudyKooper

+1

これは同じである必要があり、両方の、あなたの戻り値の型をチェックし、それはコースの進捗状況の種類の一覧で、CUSTOMERLISTタイプのあなたの方法のIDリストの型を返します。.. –

関連する問題