【问题标题】:Sql Query to C# with entity framework or linq带有实体框架或 linq 的 Sql Query 到 C#
【发布时间】:2013-01-31 10:17:54
【问题描述】:

我有这个 sql 表达式,我想使用实体框架或 linq 将其转换为代码语法

select [Key],name from products where [Key] not in (select distinct parent from products where parent is not null)

【问题讨论】:

  • 我还是个初学者,不知道该怎么做

标签: sql linq entity-framework sql-to-linq-conversion


【解决方案1】:

试试这个,可能对你有帮助

var p = products.Where(p => p.parent != null).select(p=>p.parent).Distinct();

var pro = products.Where(p => !p.Contains(p.Key))
                   .Select(p => new { ProKey = p.Key, ProName.Name }); 

也许它会起作用,但你仍然有问题让我知道......

【讨论】:

  • 谢谢!它有效,但你有什么建议将它混合到一个查询中吗?
  • 不要把这个查询混在一个查询里,我建议你这样用,这样容易,不然会很复杂……
【解决方案2】:

我认为这会奏效。

var parents = products.Where(p => p.parent != null).Distinct();

var products = products.Where(p => !parents.Contains(p.Key))
                       .Select(p => new { p.Key, p.Name }); 

【讨论】:

  • !parents.Contains(p.Key) 给我一个错误,我不知道为什么但是 p.parent 和 p.key 在数据库中属于 GUID 或 uniqueidentifier 类型
  • @MohamedNaguib 说它给你一个错误真的对我没有帮助,因为我需要知道具体的细节,所以我可以修改代码。
猜你喜欢
  • 2017-07-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-15
相关资源
最近更新 更多