c# - 简单的 JOIN 语法在 Entity Framework 中不起作用

标签 c# linq entity-framework

我正在尝试向现有 LINQ 语句添加联接,但我的语法不正确。 我看了here例如,在其他地方,我的建筑仍然无法正常工作。 Visual Studio 正在发出嘶嘶声。这两个数据集都在我尝试使用的上下文中,因此不确定我做错了什么:

“join”关键字下的红色波浪线会产生错误“无法从查询中推断出类型参数”“n”和“nc”别名会产生错误“无法解析符号”

enter image description here

我的原始工作声明

 var query = from nc in context.NewClubs
                           where nc.ClubMasterCustomerId == clubMasterCustId
                           select nc;
               var results = query.Any();

我想要做什么(用 SQL 说明)

select nc.NewClubName,nc.Id from NewClub as nc
join NewClubBuilder ncb on ncb.NewClubId = nc.Id
where ncb.BuilderClubKeyNumber = 'K00841'

我从 SQL 到 LINQ 的翻译(不起作用)

var query = from nc in context.NewClubs
            join n in context.NewClubBuilders on n.NewClubId equals nc.Id
            where nc.ClubMasterCustomerId == clubMasterCustId
            select nc;

            var results = query.Any();

谢谢

最佳答案

使用连接属性,因此 nc.Id 是第一个

join n in context.NewClubBuilders on nc.Id  equals n.NewClubId

关于c# - 简单的 JOIN 语法在 Entity Framework 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22865402/

相关文章:

c# - 尝试运行项目 : Access is denied 时出错

c# - 什么是检查给定值列表是否上下交替的好算法?

.net - View 中的 Entity Framework 主键

silverlight - EF5 Code First 和 RIA 服务 Silverlight "Object reference not set to an instance of an object"错误构建客户端

c# - 如何配置 ReSharper 8 的完整代码清理以将自动属性视为字段而不是方法?

c# - 在 C# 中调用基本构造函数

.net - linq 等效 SQL 查询 "not in (select query)"

c# - DbContext 没有被 autofac 注入(inject)

c# - 是否可以直接从 C# 使用 Profiling API?

c# - 是否可以结合这两个 linq 查询?