实体框架,如何在此示例中包含相关实体

e36*_*6M3 1 entity-framework entity-framework-4

我有一个表AccountSecurity,这是一个多对多的表,涉及帐户实体和证券.当我在下面写下查询时,它会返回满足where子句的所有证券.但是,列表中的每个安全实例都不再引用它来自的AccountSecurity.所以当我列出[0] .AccountSecurity时它是空的.反正有没有包含这些信息?我知道我可以重写查询以返回AccountSecurities并使用.Include("Security"),但我想知道它是否可以用另一种方式完成.

var list = (from acctSec in base.context.AccountSecurities
            where acctSec.AccountId == accountId
            select acctSec.Security).ToList();
Run Code Online (Sandbox Code Playgroud)

UPDATE

当然,如果我进行两次查询,图表会正确填充,必须有一种方法可以一次完成.

var securities = (from acctSec in base.context.AccountSecurities
            where acctSec.AccountId == accountId
            select acctSec.Security).ToList();

//this query populates the AccountSecurities references within Security instances returned by query above
var xref = (from acctSec in base.context.AccountSecurities
            where acctSec.AccountId == accountId
            select acctSec).ToList();
Run Code Online (Sandbox Code Playgroud)

Cra*_*ntz 6

var list = (from sec in base.context.Securities
                                    .Include("AccountSecurity")
            where sec.AccountSecurities.Any(as => as.AccountId == accountId)
            select sec).ToList();
Run Code Online (Sandbox Code Playgroud)