Asp.net mvc 使用LINQ to SQL和带外键的实体框架查询数据?
在使用LINQtoSQL和实体框架(我使用的是VisualStudio2010)查询数据时,我需要帮助 我有三张桌子:Asp.net mvc 使用LINQ to SQL和带外键的实体框架查询数据?,asp.net-mvc,linq-to-sql,entity-framework,Asp.net Mvc,Linq To Sql,Entity Framework,在使用LINQtoSQL和实体框架(我使用的是VisualStudio2010)查询数据时,我需要帮助 我有三张桌子: tblNewsDetails tblNewsCategories tblNewsInCategories (见下图中的照片1。) 现在,我想检索tblNewsDetails表中的记录,条件为CategoryId=1,如下图中的照片2所示 但是tblNewsInCategories表中的NewsID和CategoryId是两个外键。我看不到它们,也不知道如何在代码中使用它们 另外
tblNewsDetails
tblNewsCategories
tblNewsInCategories
tblNewsDetails
表中的记录,条件为CategoryId=1
,如下图中的照片2所示
但是tblNewsInCategories
表中的NewsID
和CategoryId
是两个外键。我看不到它们,也不知道如何在代码中使用它们
另外,我的代码有错误,如下图中的照片3所示
有几种可能的方法,下面是其中一种
from n in tblNewsInCategories.Include("NewsCategory").Include("NewsDetail")
where n.NewsCategory.CategoryID == 1
select n.NewsDetail
请记住,n(和b,在您的示例中)是TblNewsInCategories实体,它们可能具有以下属性:
{
public int NewsInCategories { get; set; } // your middle table primary key
public TblNewsCategory NewsCategory { get; set; } // a navigation property
public TblNewsDetails NewsDetail { get; set; } // a navigation property
}
因此,为了访问NewsId和CategoryId,您必须检查导航属性。我真的怀疑您是否同时使用LINQ to SQL和实体框架。。。您可能正在使用Linq到实体,而不是Linq到SQL非常感谢Dynamic Le Savard。我已经解决了这个问题。(我花了三天时间试图解决这个问题)。你是个好人,知识渊博。我想在facebook上和你交朋友:-)