2011-07-22 11 views
2

私は、Code First POCOオブジェクトを使用してEntity Framework 4.1でDataServiceを作成しています。私は試してみて、それが次のエラーで中断し、HTTP経由でのDataServiceにアクセスしたとき、私は、しかし、私はMyEntityContextのインスタンスを作成するときに、データの罰金にアクセスし、直接アクセスすることができますエンティティがコードで最初に解決されないEntity Framework 4.1を持つDataService

System.ArgumentException: The given name 'Department' was not found in the entity sets. 

を、私はあらゆる種類のものを試してみました同じ問題に戻ってくる。何が間違っているのかはわかりません。

私は現在マッピングしているエンティティです。次のように定義されます

[Table("tb_department")] 
public class Department 
{   
    [Key] 
    [Column("department_no", TypeName = "nvarchar")] 
    public string ID { get; set; } 

    [Column("department_name", TypeName = "nvarchar")] 
    public string Name { get; set; }   
} 

私のデータコンテキストは次のようになります。

public class MyEntityContext : DbContext 
{ 
    public MyEntityContext(string connStr) 
     : base(connStr) 
    { 
    } 

    public MyEntityContext() 
    { 
    } 

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

そして、私のサービスは、次のようになります。

[ServiceBehavior(IncludeExceptionDetailInFaults = true)] 
public class MyDataService : DataService<MyEntityContext> 
{ 
    public static void InitializeService(DataServiceConfiguration config) 
    { 
     config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V2; 
     config.UseVerboseErrors = true; 
     config.SetEntitySetAccessRule("Department", EntitySetRights.AllRead);    
    } 

    protected override MyEntityContext CreateDataSource() 
    { 
     MyEntityContext ctx = new MyEntityContext(
      Utility.GenerateConnStr 
     ); 

     return ctx; 
    } 
} 

答えて

2

まあそれは「部署」が見つかりませんでしたと言いますエンティティセットのエンティティセット名が "Departments"なので、コールを複数形にしてみてください。

+0

今私は愚かだと感じる!ありがとう、私は必要なすべてだった:) – codemonkey

関連する問題