C# 亚音速活动记录对象不';t返回为IQueryable<>;?

C# 亚音速活动记录对象不';t返回为IQueryable<>;?,c#,activerecord,subsonic,C#,Activerecord,Subsonic,创建DomainService时,在.NET Ria Services内并使用Subsonic,我可以添加IQueryable方法,如下所示: public IQueryable<Server> GetServers() { return Server.All(); } public IQueryable GetServers(){return Server.All();} 它的编译没有问题,但当我添加一个方法来获取特定服务器时: public IQueryable<Ser

创建DomainService时,在.NET Ria Services内并使用Subsonic,我可以添加IQueryable方法,如下所示:

public IQueryable<Server> GetServers() { return Server.All(); }
public IQueryable GetServers(){return Server.All();}
它的编译没有问题,但当我添加一个方法来获取特定服务器时:

public IQueryable<Server> GetServer(int serverID) { return Server.SingleOrDefault( srv => srv.server_id == serverID); }
public IQueryable GetServer(int-serverID){return Server.SingleOrDefault(srv=>srv.Server_-id==serverID);}
我得到一个“无法将myApp.Data.Server类型隐式转换为System.Linq.IQueryable

我尝试将AsQueryable()附加到末尾,但这似乎不起作用,因为myApp.Data.Server没有该定义


如果可以的话,我不知道如何将其转换为IQueryable。

如果返回的是单个服务器实体,为什么要将其转换为可查询的?您已经找到您的实体。。。您将对其执行哪些查询


但是,如果确实需要返回一个项的可查询列表,可以使用Find()方法而不是SingleOrDefault()。SingleOrDefault的返回值只是实体类型,而不是IQueryable。

ok。但我想使用事务范围。我非常需要伊库里亚伯。