2014-01-06 14 views
6

コントローラの足場を作成してModelクラスを追加すると、「タイプごとに複数のオブジェクトセットがサポートされない」というエラーが表示されます。タイプごとに複数のオブジェクトセットはサポートされていませんか?

1.Department.CS

2.Designation.cs

3.CompanyDBContext.cs

データベース

は、私は3つのモデルクラスを持っている私は、データベース内の2台を持って、 1.部門(deptID、deptName、説明)2.指定(desgtID、desgName、description)

目的: - これらのsceのビューページを1つ作成したいナリオ。このような

フォーム(テキストボックス)+部署名(ドロップダウンリストボックス)+指定名(ドロップダウンリストボックス)の

名前を挿入

1.Department.CS

namespace mvcAppraisalSystem.Models 
{ 
    public class Department 
    { 
     [Key] 
     public int deptID { get; set; } 
     public string deptName { get; set; } 
     public string Description { get; set; } 

    } 
} 

2.Designation.cs

namespace mvcAppraisalSystem.Models 
{ 
    public class Designation 
    { 
    [Key] 
    public int desgID { get; set; } 
    public string desgName { get; set; } 
    public string description { get; set; } 
    } 
} 

3.CompanyDBContext.cs

namespace mvcAppraisalSystem.Models 
{ 
    public class CompanyDBContext : DbContext 
    { 
     public CompanyDBContext() : base("CompanyDBContext") 
     { 


     } 
     public DbSet<CompanyDBContext> Departments { get; set; } 

     public DbSet<CompanyDBContext> Designations { get; set; } 

     protected override void OnModelCreating(DbModelBuilder modelBuilder) 
     { 
      modelBuilder.Conventions.Remove<PluralizingTableNameConvention>(); 
     } 
    } 
} 

答えて

15

あなたのセットはDbSet<CompanyDBContext>になります。あなたが望むのはDbSet<Department>DbSet<Designation>です。

public DbSet<Department> Departments { get; set; } 

    public DbSet<Designation> Designations { get; set; } 

これはタイプミスであることをかなりはっきりと見えますが、ランタイムは、同じ要素型を持っている同じコンテキストで複数のオブジェクトセットを移入する方法を知らないので、あなたがエラーを取得している理由があります。あなたは何かがSomeDepartmentsになり、そこOtherDepartmentsに何があるかを定義するものになるだろうと、ランタイムはこのことを知っている(とがありますしないかを定義するために期待する(おそらく)ので

public DbSet<Department> SomeDepartments { get; set; } 
public DbSet<Department> OtherDepartments { get; set; } 

を:これはもっと言うようになりますそれを表現する方法はありません)、それがエラーを起こす理由です。

+0

よろしくお願いします。私の目的は、私は両方のモデルクラスのための1つのビューページを作成したいです。私はイム私のqueを言ったように? –

+0

あなたは2つの異なる質問をしています。投稿したエラーは、私がこの回答で指摘した問題のためです。 –

+0

はい、あなたは完全にライトです。あなたの助けをありがとうが、私は私の質問の目的で述べた私の完全な質問のためにあなたの助けが必要です。 –

関連する問題