【问题标题】:Unable to create a constant value of type无法创建类型的常量值
【发布时间】:2014-07-13 01:35:14
【问题描述】:

我有两个类列表,例如:

public class ListA
{
    public string FinAccCompleteCode { get; set; }

    public string FinAccCompleteDesc { get; set; }
}
public class ListB
{
    public string FinAccCompleteCode { get; set; }

    public string FinAccCompleteCodeDesc { get; set; }
}

我会得到 ListA 的项目,它们存在于 Class ListB 中,我也使用下面的代码

db.ListA.Where(a => ListB.Any(t => t.FinAccCompleteCode == a.FinAccCompleteCode)).ToList();

但是发生了这个错误: 无法创建“ListB”类型的常量值。此上下文仅支持原始类型或枚举类型。

【问题讨论】:

  • ListB 没有FinAccCompleteDescFinAccCompleteCode 重复。
  • 您是否在查询中使用了 Contains ?
  • 在你显示的查询中有ListB,不应该是db.ListB吗?..

标签: c# linq lambda linq-to-entities entity


【解决方案1】:

我用了下面的方法

var result=db.ListA.Where(a => ListB.Contains(a.FinAccCompelteCode)).ToList();

我不知道,这两个代码有什么区别?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-08
    • 1970-01-01
    相关资源
    最近更新 更多