无法在IQueryable中指定Out T

本文关键字:Out IQueryable | 更新日期: 2023-09-27 18:11:18

我正在遵循NerdDinner MVC教程,并有一个关于设置我的存储库的问题。这是我到目前为止所做的…

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

namespace BusinessReviews.Models
{
    public class ReviewsRepository
    {
        private BusinessReviewsDataContext db = new BusinessReviewsDataContext();

        public IQueryable GetAllBusinesses()
        {
            return db.Businesses;
        }
    }
}

我知道我的IQueryable应该指定T。在教程中,他们把表名放在T所在的地方,在他们的例子中是"Dinner"。对于我的申请,我认为应该是"商务"。不幸的是,Visual Studio不承认Business类。有什么问题吗?

*编辑——根据下面的评论,这是我想写的

public IQueryable<Business> GetAllBusinesses()
{
return db.Businesses;
}

无法在IQueryable<T>中指定Out T

通常错误"Unknown type __"是由命名空间问题引起的。确保包含了适当的名称空间。在处理生成的代码时,通过检查designer.cs文件来查看生成的类是很有帮助的。

定义接口时只能指定out T。你所定义的是一个方法。

public interface IMyInterface<out T>
{
    T GetSomething();
}