【发布时间】:2019-12-28 01:28:24
【问题描述】:
我正在尝试为类列表分配一个值,但它似乎不喜欢我的 select 语句中的“外部”值。
C# .dll 文件中的代码(在 Visual Studio 中编译没有错误):
Dictionary<int, string> My_dict1 = new Dictionary<int, string>();
My_dict1.Add(0, "Welcome");
var inv = traces.Select(x => new TraceLabelData
{
Name = My_dict1[0]
}).ToList();
在 LINQPAD 中引用和运行时出错:
NotSupportedException LINQ to Entities 无法识别方法“System.String” get_Item(Int32)' 方法,并且这个方法不能翻译成store 表达。
如果我用纯字符串替换 My_dict[0] 它可以工作,如果我用一个纯字符串的变量替换它它可以工作。它不适用于字典,也不适用于返回字符串的函数。
【问题讨论】:
-
traces到底是什么?IQueryable<T>(如果是,T是什么)、DbSet<T>等? -
string first = My_dict1[0];然后在选择中使用它Name = first -
@Dai,T 是一个自定义类。我不知道如何描述它。无论如何,我从下面得到你的答案。
-
@CodingYoshi,我给出的示例已针对我的实际使用进行了简化,即我将以更高的二维 (?) 比例进行此操作。 IE。有名称、描述等,将需要 My_dict[0]、[1] 等。不过感谢您的回复。