对于多对多的关联没有智能感知

时间:2013-01-04 01:30:07

标签: linq entity-framework linq-to-entities

我正在尝试在LINQ for EF5中构建一个查询。我的模型已经建立了一个带有两个外键的协会,包含contactid和shippingcompanyid的shippingcompanycontacts。这个“表”没有智能感知(它在mySQL中显示为一个表)我尝试以这种方式访问​​数据无济于事。 (我硬编码了id)

 Dim testquery = (From s In ctx.shippingcompanies Where s.Id = 1 Join
                c In ctx.contacts On s.Id Equals c.Id Select New With {c.LastName}).ToList()

我真的需要访问关联表,但它没有智能感知

1 个答案:

答案 0 :(得分:2)

默认情况下,关联表在EF中不可用。您只有ContactsShippingCompanies,并且每个都包含其相关计数器部分的导航属性,因此您的查询可以定义为(C#):

var query = from s in ctx.shippingcompanies 
            where s.Id == 1
            from c in s.contacts // accessing navigation property
            select c.LastName;

您可以manually edit EDMX并将ShippingCompanyContacts作为新实体,但通常不会使用EF。