私は ASP.NET MVC3 アプリケーションに取り組んでいます。メソッドを呼び出した場所から提供した ID を持つエンティティのみを返すサービス内のメソッドを作成したいと考えています。
呼び出された私のサービスではDocumentService
、次の簡単なメソッドを書きました。
public Documents GetDocById(long id)
{
return DocumentsRepository.All().Where(d => d.Id == id);
}
単一のエンティティのみが必要なため、メソッドの戻り値の型を、呼び出されるエンティティの型に設定する必要があると判断しましたDocuments
。このコードで発生するエラーは次のとおりです。
Cannot implicitly convert type "System.Linq.IQueryable<DataAccess.Documents> to DataAccess.Documents.
そしてそれは論理的です。しかし、それを自分が望む型に変換するにはどうすればよいかを考えると、自分自身が疑問に思う. たとえば、メソッドの戻り値の型を作成し、return ステートメントの最後にList<Documents>
追加することができます。ToList()
しかし、私はリストを期待していません。レコードのリストではなく、単一のレコードを期待しています。
方法はありますか?もしあれば、Listの代わりに1つのエンティティだけを返すにはどうすればよいですか?