所以首先我的实体瓶颈使用实体框架继承
我想和所有的故事标题页面中的问题及其类型
有三个故事LongStory
,CoOpStory
,GenericStory
通用故事与StoryType
相关联,用于通用故事的类型
我有两个问题
第一当我要检查,如果这个故事是LongStory
或CoOpStory
我已经把所有的实体,并检查实体类型,如果它是LongStory
然后做一些事情,我不知道如何检索一些数据[只有标题],并检查类型
我的第二个问题,就像我说我想要一个页面,所有的故事标题和他们的类型我不知道如何做,而不做很多的查询,我无法加入到StoryType
表中,因为它必须与GenericStory
关联,所以我首先获取所有故事,然后为每个查询做额外的查询GenericStory
即可获得类型
大声笑,我刚刚停止写作:)是'allStories'查询实际上是三往返回数据库?我也考虑过'Concat',但参数是'IEnumerable',而不是'IQueryable'。我不确定我们是否会得到三个roundrips。上下文。历史。OfType .Concat(context.Stories.OfType ())''可能可能压缩到'context.Stories.Where(s =>!(s是GenericStory))'中。 –
Slauma
'Concat'被简单地转换为'UNION ALL'和'Union'到'UNION'。如果没有,则无法在linq-to-entities中进行联合。这压缩很酷:)我想过如何避免两个连接的方式,但这并没有出现在我的脑海。 –
很高兴知道'Concat'如何翻译!最后,我发现这个问题的第一部分有些难看(但工作)。我想知道这是否不可能以更简单的方式进行。 – Slauma