2017-02-16 23 views
0

私はデータベースを持たないため、MVCでコードの最初のアプローチを使用してサンプルアプリケーションを作成しようとしています。これですべてのクラスファイルとコンテキストクラスがセットアップされました。次のステップでは、コントローラ(Emplty)を作成し、独自のCreate/List/Delete機能を作成したいと考えています。私はどうすればそれをすることができます。私は、コントローラの下からのコードを追加したいエンティティフレームワークでCodefirstアプローチで独自の/カスタムコントローラを作成する方法

コードの一部が

 public class Employee 
      { 
       public int EmployeeID { get; set; } 
       public string Name { get; set; } 
       public int Age { get; set; } 

       public int DepartmentID { get; set; }//Foreign Key 

       public virtual ICollection<Enrollment> Enrollments { get; set; } 
      } 

     public class Department 
     { 
      public int DepartmentID { get; set; } 
      public string DepartmentName { get; set; } 

      public virtual ICollection<Enrollment> Enrollments { get; set; } 
     } 

    public class EmployeeDBContext: DbContext 
     { 
      public EmployeeDBContext() 
       : base("EmployeeDBContext")//EmployeeDBContext will be name of database. 
      { } 

      public virtual DbSet<Employee> Employees { get; set; } 
      public virtual DbSet<Department> Departments { get; set; } 
      public virtual DbSet<Enrollment> Enrollments { get; set; } 
     } 


public class EmployeeInitializer:DropCreateDatabaseIfModelChanges<EmployeeDBContext> 
    { 
     protected override void Seed(EmployeeDBContext context) 
     { 
      var employee = new List<Employee> 
      { 
       new Employee{EmployeeID=1, Name="Aman", Age=15, DepartmentID=11}, 
       new Employee {EmployeeID=2, Name="Supriya", Age=12, DepartmentID=22}, 
       new Employee {EmployeeID=3, Name="Rishabh", Age=10, DepartmentID=44} 
      }; 

      employee.ForEach(x => context.Employees.Add(x)); 
      context.SaveChanges(); 

      var department = new List<Department> { 
      new Department{DepartmentID=11, DepartmentName="IT"}, 
      new Department{DepartmentID=22, DepartmentName="HR"}, 
      new Department{DepartmentID=33, DepartmentName="Mechanical"}, 
      new Department{DepartmentID=44, DepartmentName="NGO"} 
      }; 

      department.ForEach(x=>context.Departments.Add(x)); 
      context.SaveChanges(); 

      var enrollment = new List<Enrollment>() { 
      new Enrollment{EnrollmentID=111, EmployeeID=1, DepartmentID=11}, 
      new Enrollment{EnrollmentID=222, EmployeeID=3, DepartmentID=44}, 
      new Enrollment{EnrollmentID=333, EmployeeID=2, DepartmentID=22} 
      }; 
      enrollment.ForEach(x=>context.Enrollments.Add(x)); 
      context.SaveChanges(); 

     } 
    } 

の下にある以降

public ActionResult CreateEmployee(Employee employee) 
{ 

    //my desired code here 
    return View(); 
} 


[HttpGet] 
public ActionResult ListEmployee() 
{ 
//my desired code here 
    return View(); 
} 
+0

をEFを使用したサンプルMVCアプリケーション」を使用すると、より迅速に答えを出し、ここで準備ができたソリューションを得るためにここで待機します。 –

答えて

0

あなたが何か行う方法を意味: "の検索

[HttpGet] 
    public ActionResult ListEmployee() 
    { 
    //my desired code here 
    using(var context=new EmployeeDBContext()) 
    { 
    return View(context. Employee.ToList()); 
    } 

    } 

[HttpPost] 
[Route("api/Employee/CreateEmployee")] 
public ActionResult CreateEmployee([FromBody]Employee employee) 
{ 
//add to ef 
_db.Add(employee); 
_db.SaveChanges(); 

    //my desired code here 
    return Ok(); 
} 
+0

はい。従業員のリストを取得すると、従業員を作成するための挿入方法 –

+0

助けてくれることを願っています... if yes ..rate plz :-) –

関連する問題