SubSonic Active Record对象不会返回IQueryable<>?

时间:2009-08-21 03:06:41

标签: c# activerecord subsonic

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

public IQueryable<Server> GetServers() { return Server.All(); }

它编译没有问题但是当我添加一个方法来获取特定服务器时:

public IQueryable<Server> GetServer(int serverID) { return Server.SingleOrDefault( srv => srv.server_id == serverID); }

我得到一个“无法隐式转换myApp.Data.Server类型为System.Linq.IQueryable ..”

我试图将AsQueryable()追加到最后,但这似乎不起作用,因为myApp.Data.Server没有那个定义。

如果可以的话,我无法将其转换为IQueryable。

1 个答案:

答案 0 :(得分:2)

如果您要返回单个服务器实体,为什么您希望它是可查询的?您已经找到了您的实体......您将在其上执行哪些查询?

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