当我将Linq表达式放入由实体框架的代码优先方法映射的域类方法中时,它会导致创建编译器生成的显示类,然后由于没有映射显示类而发生映射错误。
…+<>c_DisplayClass5'未映射。检查类型是否没有
通过使用Ignore方法或
NotMappedAttribute数据注释。验证是否已定义类型
作为一个类,不是基元的、嵌套的或泛型的,并且不继承
来自EntityObject。
我在方法中使用的导致问题的表达式是:
UniqueIds.FirstOrDefault(x => x.IdentifierType.Name == keyword);
我映射类型,其中:
.Where(x => x.Namespace != null
&& !x.IsAbstract
&& !x.IsEnum
&& x.Namespace.StartsWith("<removedprefix>.Domain")
注意,我实际上并没有使用“removedprefix”,只是出于隐私原因,我不想透露名称空间。
如何在域类方法中使用Linq表达式而不出现上述错误?
编辑:当然,我想在不禁用延迟加载的情况下解决这个问题。