CSharp - linq中只支持基本类型或者枚举类型在这里上下文中

  显示原文与译文双语对照的内容
0 0

以下是我的查询:

var originals = (from x in db1.MyStrings select x).ToList();
var translations = (from x in db2.MyTranslations.Where(x => x.language_id == languageId)
 join y in originals
 on x.original_id equals y.Id into joined
 from j in joined.DefaultIfEmpty()
 select new { x.language_id, x.translation, j.Content, j.Id }).ToList();

我在 2个不同的数据库中有两个表。 我想得到所有的原始字符串,并加入它们的翻译,如果有任何。 因此 List 将与db1中的原始字符串表大小相同。 MyStrings存储原始字符串,MyTransaltions存储翻译。

我现在得到的错误是: 无法创建类型为'mystring'的常量值。 这里上下文中只支持基元类型或者枚举类型。

时间:原作者:6个回答

0 0

如果下面是工作,如果问题是我曾经面对过。

var translations = (from y in originals 
 join x in db2.MyTranslations.Where(x => x.language_id == languageId)
 on x.original_id equals y.Id into joined
 from j in joined.DefaultIfEmpty()
 select new { x.language_id, x.translation, j.Content, j.Id }).ToList();
原作者:
...