Entity framework 如何使用Linq组合多个表? 公共类职位描述 { public int JobDescriptionID{get;set;} // 公共虚拟列表映像{get;set;} } 公众阶级形象 { 公共int-ImageID{get;set;} [必需] public int JobDescriptionID{get;set;} [外键(“作业描述ID”)] 公共虚拟作业描述作业描述{get;set;} 公共虚拟列表ImageSection{get;set;} } 公开课影像组 { public int ImageSectionID{get;set;} // 公共int-ImageID{get;set;} [外键(“图像ID”)] 公共虚拟映像映像{get;set;} 公共虚拟DigitalSection DigitalSection{get;set;} } 公开课数码组 { 公共int DigitalSectionID{get;set;} public int ImageSectionID{get;set;} [外键(“ImageSectionID”)] 公共虚拟ImageSection ImageSection{get;set;} 公共虚拟验证节验证节{get;set;} } 公共类验证部分 { public int-VerifiedSectionID{get;set;} 公共字符串数字化文本{get;set;} 公共int DigitalSectionID{get;set;} [外键(“DigitalSectionID”)] 公共虚拟DigitalSection DigitalSection{get;set;} }

Entity framework 如何使用Linq组合多个表? 公共类职位描述 { public int JobDescriptionID{get;set;} // 公共虚拟列表映像{get;set;} } 公众阶级形象 { 公共int-ImageID{get;set;} [必需] public int JobDescriptionID{get;set;} [外键(“作业描述ID”)] 公共虚拟作业描述作业描述{get;set;} 公共虚拟列表ImageSection{get;set;} } 公开课影像组 { public int ImageSectionID{get;set;} // 公共int-ImageID{get;set;} [外键(“图像ID”)] 公共虚拟映像映像{get;set;} 公共虚拟DigitalSection DigitalSection{get;set;} } 公开课数码组 { 公共int DigitalSectionID{get;set;} public int ImageSectionID{get;set;} [外键(“ImageSectionID”)] 公共虚拟ImageSection ImageSection{get;set;} 公共虚拟验证节验证节{get;set;} } 公共类验证部分 { public int-VerifiedSectionID{get;set;} 公共字符串数字化文本{get;set;} 公共int DigitalSectionID{get;set;} [外键(“DigitalSectionID”)] 公共虚拟DigitalSection DigitalSection{get;set;} },entity-framework,linq-to-sql,code-first,Entity Framework,Linq To Sql,Code First,我使用的是CodeFirst方法,我有JobDscriptionID。现在我想从VerifiedSection表中删除所有digitedtext。怎么做?试试这个: public class JobDescription { public int JobDescriptionID { get; set; } // public virtual List<Image> Image { get; set; }

我使用的是CodeFirst方法,我有
JobDscriptionID
。现在我想从
VerifiedSection
表中删除所有
digitedtext
。怎么做?

试试这个:

public class JobDescription
    {
        public int JobDescriptionID { get; set; }

        //          

        public virtual List<Image> Image { get; set; }

    }

 public class Image
    {
        public int ImageID { get; set; }

        [Required]
        public int JobDescriptionID { get; set; }

        [ForeignKey("JobDescriptionID")]
        public virtual JobDescription JobDescription { get; set; }

        public virtual List<ImageSection> ImageSection { get; set; }
    }

 public class ImageSection
    {
        public int ImageSectionID { get; set; }

        //
        public int ImageID { get; set; }

        [ForeignKey("ImageID")]
        public virtual Image Image { get; set; }

        public virtual DigitalSection DigitalSection { get; set; }

    }

public class DigitalSection
    {
        public int DigitalSectionID { get; set; }

         public int ImageSectionID { get; set; }

         [ForeignKey("ImageSectionID")]
         public virtual ImageSection ImageSection { get; set; }

         public virtual VerifiedSection VerifiedSection { get; set; }
    }

public class VerifiedSection
    {
        public int VerifiedSectionID { get; set; }


        public string DigitizedText { get; set; }


        public int DigitalSectionID { get; set; }

        [ForeignKey("DigitalSectionID")]
        public virtual DigitalSection DigitalSection { get; set; }

    }
或者,您也可以使用Join

var result = contetx.VerifiedSection
            .Where(V => V.DigitalSection.ImageSection.Image.JobDescription.JobDescriptionID == 1)
            .Select(V => V.DigitizedText);
祝你好运

var result = context.VerifiedSection.Join(context.DigitalSection.Join(
                    (context.ImageSection.Join
                    (context.Image.Join
                    (context.JobDescription.Where(J=> .JobDescriptionID == 1)), I=> I.JobDescriptionID, J => J.JobDescriptionID , (I,J) => I)
                    IS => IS.ImageID, I=> I.ImageID, (IS,I) => IS)
                    D => D.ImageSectionID, IS => IS.ImageSectionID , (D,IS) => D)
                    V => V.DigitalSectionID, D => D.DigitalSectionID, (V,D) => V.DigitizedText);

Kundan Singh Chouhan给了您一个更好的答案,但您可能希望采用“查询”的方式。

如果您需要从VerifiedSection表中获取DigitizedText,而不是从表中获取列值。我不想要所有的数字化文本,而只是那些链接的ID。
var query = (from image in Context.Image 
            Where image.JobDescriptionID == id
            select image.ImageID).SingleOrDefault();

var query2 = (from select in Context.ImageSection 
            Where select.ImageID == query
            select select.ImageSectionID).SingleOrDefault();

var query3 = (from digital in Context.DigitalSection 
                Where digital.ImageSectionID == query2
                select digital.DigitalSectionID).SingleOrDefault();

var query4 = from text in Context.VerifiedSection 
            Where text.VerifiedSection == query3
            select select.DigitizedText;