【发布时间】:2011-03-17 19:58:29
【问题描述】:
我无法返回 IEnumerable 和 IList,我做不到! 我正在使用带有 POCO 的 EF 4
这是整个方法:
//public IList<Genre> GetGenresByGame(int gameId)
public IEnumerable<Genre> GetGenresByGame(int gameId)
{
using(var ctx = new XContext())
{
var results =
from t0 in ctx.GameGenres
join t1 in ctx.GenreCultureDetails on t0.GenreId equals t1.GenreId
where t0.GameId == gameId && t1.CultureId == _cultureId
select new Genre
{
GenreId = t0.GenreId,
GenreName = t1.GenreName
};
return results.ToList();
}
}
我尝试了我在网上找到的不同方法..但无法成功!
问题 2: 我看到 Julie 的截屏视频,说“在使用 EF4 时,您应该始终返回 ICollection”。
对此有什么想法吗?
BR
编辑:
当我在调试模式下加载页面时,出现以下错误:The ObjectContext instance has been disposed and can no longer be used for operations that require a connection. OR The entity or complex type 'XModel.Genre' cannot be constructed in a LINQ to Entities query。
【问题讨论】:
-
只是一个随机问题,但您的数据库中是否存在流派?如果是这样,你为什么不直接选择呢?
-
是的,数据库中确实存在流派。选择,什么意思?
-
见下文,如果您提供有关表结构的更多信息,我可以更新详细信息。
-
@Nix 你需要什么信息?我得到了三个表,Genres (GenreId)、GameGenres (MAP GenreId, GameId) 和 GenreCultureDetail (CultureId, GenreId, GenreName)
标签: linq entity-framework-4 ienumerable poco