首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未能将参数值从Byte[]转换为字节

未能将参数值从Byte[]转换为字节
EN

Stack Overflow用户
提问于 2018-04-02 12:12:35
回答 1查看 492关注 0票数 1

我有低年级的

代码语言:javascript
复制
public partial class ClubMember
{
    public Guid ClubId { get; set; }
    public Guid MemberId { get; set; }
    public byte ClubRoleId { get; set; }
    public bool? IsActive { get; set; }

    public Club Club { get; set; }
    public ClubRole ClubRole { get; set; }
    public UserEntity Member { get; set; }
}

查询时,如下所示

代码语言:javascript
复制
byte[] a = new byte[]{3,4 };
dbContext.ClubMember.Where(cm => a.Contains(cm.ClubRoleId))

这会抛出错误,例如

未能将参数值从Byte[]转换为Byte。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-02 12:17:03

数组有两个过载的Contains。一个是Contains(T arg),另一个是Contains(T[] args),你搞错了。

您可以尝试使用Any方法。样本:

代码语言:javascript
复制
byte[] a = new byte[]{ 3, 4 };
var result = dbContext.ClubMember.Where(cm => a.Any(b => b == cm.ClubRoleId));

使用Any,实体框架将对所需列执行IN筛选器。某种情况下,您可以在Any作用域上添加另一个可查询实例,并执行子查询。

对于示例,还可以使用List而不是数组:

代码语言:javascript
复制
var a = new List<byte>() { 3, 4 };
var result = dbContext.ClubMember.Where(cm => a.Contains(cm.ClubRoleId));
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49611072

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档