在子查询中使用Linq从一个表中读取另一个表中的值

本文关键字:一个 读取 另一个 查询 Linq | 更新日期: 2023-09-27 17:52:17

你好,我有以下ling查询

 var lst=(from p in db.business 
        where p.id == id
        select new pO
        {
            pName = p.name,
            newStructure = p.p_disc.Select(x=>
                                            new newStructure 
                                            {
                                                post_date=x.post_date,  
                                                posted_by_id=x.person.last_name.Where(x.posted_by_id==x.person.p_id)
                                            })
                             });

newStructure类是

public class newStructureProject
{
        public int posted_by_id { get; set; }
        public System.DateTime post_date { get; set; }
        public person person  { get; set; }
}

在下面的查询行中,我试图在newStructure中使用posted_by_id从person表中读取最后和第一个名字。

posted_by_id=x.person.last_name.Where(x.posted_by_id==x.person.p_id)

我得到智能感知错误"字符串不包含在哪里的定义.....请让我知道我如何在我的查询中使用它来使用posted_by_id来读取人名表中的姓和名,它们有外键关系。由于

在子查询中使用Linq从一个表中读取另一个表中的值

尝试输入姓氏

posted_by_id=x.person.Where(x=>x.posted_by_id==x.person.p_id).Select(x=>x.last_name).FirstOrDefault()

您需要首先在对象上应用where子句,然后选择您需要的属性值

相关文章: