0

我使用的DbContext代碼搶先拿到這個條件下的類(表)的查詢的基礎得到:如何使用從多個表中的數據行LINQ到實體

造物主= NULL & & ArticleAttached! != NULL & & IsCancelled

var ArticleStudentLiked = dbcontext.LearningActivites 
    .Where(la => la.Creator != null && la.ArticleAttached != null && !la.IsCancelled) 
    .Sum(la => la.ArticleAttached.StudentsLiked.Count); 

    var NewsArticleComment = dbcontext.LearningActivites 
    .Where(la => la.Creator != null && la.ArticleAttached != null && !la.IsCancelled) 
    .Sum(la => la.ArticleAttached.Comments.Count); 

以下方法僅返回計數:

  • ArticleStudentLiked
  • ArticleComment

我需要從查詢記錄的行成一個單一的集合,我可以通過查看由線顯示線

這樣的:

文章標題,評論數量,評論數量

如何使用LinQ獲取這些:文章標題,編號。像,評論的

Classes: 


public class LearningActivity 
{ 
    public virtual ArticleCreator Creator { get; set; }   
    public virtual ArticleCreator EditedBy { get; set; }   
    public virtual Teacher CreatedByTeacher { get; set; } 
    public virtual Article ArticleAttached { get; set; } 
    public virtual Article ArticleAttachedByOther { get; set; } 
    public bool IsCancelled { get; set; } 
} 


public class Article 
{ 
    public string ArticleTitle {get;set;} 
    public virtual IList<Teacher> TeachersLiked { get; set; } 
    public virtual IList<Student> StudentsLiked { get; set; } 
    public virtual IList<ArticleComment> Comments { get; set; } 
} 


public class Student 
{ 
    public virtual IList<ArticleCommentStudent> Comments { get; set; } 
} 

感謝

+0

類是你想結合有哪些? – hasan

+0

這些類是表,它們是鏈接的。我需要這樣做:獲得第一篇文章,然後總結這篇文章的所有喜歡和評論。如何在LinQ到實體? – MilkBottle

+0

你的文章是否有class ID屬性。爲了執行條款 – hasan

回答

0

你可以試試這個

// LikeCount is total of Teacher and Student Likes 
// and where clause can be added before Select 
var result = dbcontext.Classes 
      .Select(x=> new { ArticleTitle = x.ArticleTitle, 
           LikeCount = x.TeachersLiked.Count() + x.StudentsLiked.Count(), 
           CommentCount= x.Comments.Count }).First(); 
+0

嗨,它應該工作。我認爲你的解決方案應該工作。我將問題分成兩部分。現在我得到了第一部分,因爲我試圖瞭解如何獲取數據。我需要從其他表中獲取數據以形成一個集合。但我不知道如何將它鏈接到第二部分。稍後我會給你鏈接。 – MilkBottle

+0

這裏的鏈接https://stackoverflow.com/questions/44407217/how-to-joint-two-set-of-retrieved-data-using-linq-to-entities謝謝。 – MilkBottle

相關問題