Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 实体框架将linq中的字节数组设置为实体时出错_C#_Entity Framework_Linq_Linq To Entities - Fatal编程技术网

C# 实体框架将linq中的字节数组设置为实体时出错

C# 实体框架将linq中的字节数组设置为实体时出错,c#,entity-framework,linq,linq-to-entities,C#,Entity Framework,Linq,Linq To Entities,我在linq到实体查询中遇到一个异常 LINQ to实体中不支持LINQ表达式节点类型“NewArrayBounds” 当我尝试获取“RegisteredInstructorImage”时 下面是我要做的,以获得错误 .Select(i => new EventResult { IsInstructorRegistered = i.RegisteredInstructor == null ? false : true,

我在linq到实体查询中遇到一个异常

LINQ to实体中不支持LINQ表达式节点类型“NewArrayBounds”

当我尝试获取“RegisteredInstructorImage”时

下面是我要做的,以获得错误

.Select(i => new EventResult
            {
                IsInstructorRegistered = i.RegisteredInstructor == null ? false : true,
                RegisteredInstructorId = i.RegisteredInstructor != null ? i.RegisteredInstructor.YogaProfileId : 0,
                RegisteredInstructorName = i.RegisteredInstructor != null ? i.RegisteredInstructor.FirstName : "",
                RegisteredInstructorImage = i.RegisteredInstructor != null ? i.RegisteredInstructor.PrimaryImage11 : new byte[0],
                RegisteredInstructorTotalReviews = i.RegisteredInstructor != null ? i.RegisteredInstructor.TotalReviews : 0,

            }).ToPagedList(Page, 10);
EventResult
中,我按照如下方式初始化它,但这并没有影响我的结果,我仍然得到错误。我做错什么了吗

public class EventResult
{
    public EventResult()
    {
        RegisteredInstructorImage = new byte[] { 0 };
    }
    public byte[] RegisteredInstructorImage { get; set; }
}

我建议改变:

i.RegisteredInstructor != null ? i.RegisteredInstructor.PrimaryImage11 : new byte[0]
致:


然后考虑更改<代码> > RealStestDealTrimeIs>代码>的属性设置器,以便它检查<代码> null <代码>(如果您想要更改为空数组)。< /P>一个选项是向代码< >事件结果< /代码>添加<代码> RealStest-Dealthor < /Cuff>属性。然后将

RegisteredInstructorName
属性设置为只读(并从
RegisteredInstructor.FirstName
中读取),其他属性的设置大致相同。我认为最好的解决方案是这样。i、 RegisteredInstructor.PrimaryImage11??null,我可以将字节[]设置为可为null的字节?[]
I.RegisteredInstructor.PrimaryImage11??空值
是没有意义的。(因为
会将
null
转换为,
null
i.RegisteredInstructor?.PrimaryImage11
更好。此外,默认情况下数组可以为空。EF提供程序无法从任意.Net函数创建SQL。错误就是这么说的。您应该搜索“不支持LINQ表达式节点类型”以查看更多详细信息和可能的解决方法。此语法看起来不正确,并在下面给我一条红线。您使用的是什么版本的C#?编译器错误消息是什么@user1186050I刚刚使用2016数据中心在Azure中创建了一个虚拟机,它与VS 2017一起预装,所以我假设它是最新的,以最新的为准。。。
i.RegisteredInstructor?.PrimaryImage11