C# 将具有模型的LINQ转换为阵列

C# 将具有模型的LINQ转换为阵列,c#,arrays,linq,type-conversion,C#,Arrays,Linq,Type Conversion,我正在尝试创建一个LINQ来获取Personal表中存在于Users表中的记录。以下是我目前正在学习的教程: 但是,当我尝试在代码中实现它时,我遇到了一个错误:“UserModel[]”不包含“Contains”的定义,而最佳扩展方法重载“Queryable.Contains(IQueryable,string)”需要类型为“IQueryable”的接收器。 Contains正在等待传递UserModel实例,这就是为什么会出现错误。只需使用.Any()即可: 它在这里所做的是:如果在userL

我正在尝试创建一个LINQ来获取Personal表中存在于Users表中的记录。以下是我目前正在学习的教程:

但是,当我尝试在代码中实现它时,我遇到了一个错误:
“UserModel[]”不包含“Contains”的定义,而最佳扩展方法重载“Queryable.Contains(IQueryable,string)”需要类型为“IQueryable”的接收器。


Contains正在等待传递UserModel实例,这就是为什么会出现错误。只需使用.Any()即可:


它在这里所做的是:如果在userList中找到p.EMP_ID,则会选择它。

Contains正在等待传递UserModel实例,这就是为什么会出现错误。只需使用.Any()即可:


它在这里的作用是:如果在用户列表中找到p.EMP_ID,那么它就会被选中。

实际上您在这方面犯了一个错误

userList.Contains(p.EMP_ID)
userList是一个IQueryable对象,它不是一个IQueryable数组,另一方面,p.EMP_ID是一个字符串,这就是产生错误的原因

您需要按如下方式修复它

List<string> userIdList = users.Select(u => u.emp_id.ToString()).ToList();

var matches = from p in db.PERSONNEL_MSTR
        where userIdList.Contains(p.EMP_ID)
        select p;
List userIdList=users.Select(u=>u.emp_id.ToString()).ToList();
var匹配=来自db.Personal\u MSTR中的p
其中userIdList.Contains(p.EMP_ID)
选择p;

实际上你在这方面犯了一个错误

userList.Contains(p.EMP_ID)
userList是一个IQueryable对象,它不是一个IQueryable数组,另一方面,p.EMP_ID是一个字符串,这就是产生错误的原因

您需要按如下方式修复它

List<string> userIdList = users.Select(u => u.emp_id.ToString()).ToList();

var matches = from p in db.PERSONNEL_MSTR
        where userIdList.Contains(p.EMP_ID)
        select p;
List userIdList=users.Select(u=>u.emp_id.ToString()).ToList();
var匹配=来自db.Personal\u MSTR中的p
其中userIdList.Contains(p.EMP_ID)
选择p;

谢谢你,伙计!我已经实现了你的,但还没有运行程序,因为我还在配置一些其他项目。Will let标记成功执行后即被接受如何将多列放入
字符串[]userIdList
?因为我希望
var-users
中的一些详细信息也显示在
var-matches
中。我想我应该更改此代码
users。选择(u=>u.emp\u id.ToString()).ToArray()
以包含不仅仅是
emp\u id
的内容,但不确定如何谢谢!我已经实现了你的,但还没有运行程序,因为我还在配置一些其他项目。Will let标记成功执行后即被接受如何将多列放入
字符串[]userIdList
?因为我希望
var-users
中的一些详细信息也显示在
var-matches
中。我想我应该更改此代码
用户。选择(u=>u.emp\u id.ToString()).ToArray()
以包含不仅仅是
emp\u id
但不确定如何感谢您的时间,先生,我喜欢它的简单方式。我也会试试这个,然后用另一个答案检查一下,看看什么对我的整个项目更方便。谢谢你的时间,先生,我喜欢它的简单。我也会尝试这个,并会与其他答案检查,看看什么是更方便我的整个项目。