2012-01-11 10 views
1

エラーがリポジトリは、私が取得しています正しく

エラー1でインターフェイスを実装していない 'OCDSandbox.Models.OrganizationRepository' インターフェイスメンバ 'OCDSandbox.Models.IRepository.FindByOrgNbr()' Cを実装していません:\ソース TEMP \ OCDSandbox \ OCDSandbox \モデル\ OrganizationRepository.csライン9

OrganizationRespository.CS

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 

namespace OCDSandbox.Models 
{ 

    public class OrganizationRepository : IRepository 
    { 
     private GMS_Sandbox_testDataContext _dataContext; 


     public OrganizationRepository() 
     { 
      _dataContext = new GMS_Sandbox_testDataContext(); 
     } 



     public IList<Organization> ListAll() 
     { 
      var organizations = from o in _dataContext.Organizations 
       select o; 
      return organizations.ToList(); 
     } 

     public ICollection<Organization> FindAll() 
     { 
      return _dataContext.Organizations.ToList(); 
     } 

     public ICollection<Organization> FindByOrgNbr(string OrgNbr) 
     { 
      var organizations = _dataContext.Organizations.Where(p => p.org_nbr == OrgNbr).ToList(); 
      return organizations; 
     } 

    } 
} 

IRepository.CS

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 

namespace OCDSandbox.Models 
{ 
    public interface IRepository 
    { 
     // organization interface 
     IList<Organization> ListAll(); 
     ICollection<Organization> FindAll(); //returns list read only 
     ICollection<Organization> FindByOrgNbr(); 

    } 
} 

任意の助けを大幅に高く評価されています。これは初めてリポジトリを使用しているので、コントローラのFindByOrgNbrをテストしたいと思います。前もって感謝します!

+1

FindByOrgNbrはパラメータを必要としません。 – MatthiasG

答えて

3

あなたはFindByOrgNbr

の定義にインターフェースで
 
using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 

namespace OCDSandbox.Models 
{ 
    public interface IRepository 
    { 
     // organization interface 
     IList ListAll(); 
     ICollection FindAll(); //returns list read only 
     ICollection FindByOrgNbr(string OrgNbr); 

    } 
} 
+0

すごく近づいているはずです。ありがとう!今度は "メソッド 'FindByOrgNbr'のオーバーロードが0引数を取る –

+0

あなたはパラメータでFindByOrgNbrメソッドを呼び出す必要があります –

+0

私はそれをコントローラで呼び出しています。 –

1

おかげでパラメータが欠落しているインタフェースは、この方法があるので:ICollection<Organization> FindByOrgNbr();をし、あなたのクラスがpublic ICollection<Organization> FindByOrgNbr(string OrgNbr)

を持っているインターフェイスがOrgNbrを必要とするようですパラメータも。

1

FindByOrgNbr()のインターフェイス定義にOrgNbrパラメータがありません。

public interface IRepository 
{ 
    // organization interface 
    IList<Organization> ListAll(); 
    ICollection<Organization> FindAll(); //returns list read only 
    ICollection<Organization> FindByOrgNbr(string OrgNbr); 
} 
関連する問題