2017-10-30 1 views
-1

Ich habe zwei Tabellen, von der ersten Tabelle möchte ich alle Datensätze und von der zweiten Tabelle ich möchte die maximale ID-Wert davon Aufzeichnung. Ich benutze Entity Framework in asp.net C#.Wie bekomme ich den maximalen Wert der ID aus der zweiten Tabelle mit Join in Entity Framework in asp.net C#

Ich habe versucht, den folgenden Code, aber es dauert nur einzelne Datensatz aus der ersten Tabelle, d. H. Tblblogs. und lassen Sie alle Datensätze, wie Sie alle diese Datensätze mit dieser Abfrage erhalten? Bitte hilf mir, ich werde dir sehr dankbar sein. Vielen Dank !

 var query= (from c in db.tblBlogs join a in db.tblBlogMedias on c.id 
        equals a.BlogId where c.id==db.tblBlogMedias.Max(p=>p.id) 

         select new 
         {} 

Antwort

0

Wenn ich verstanden, möchten Sie ein Objekt mit bestimmten Bereichen von Blogs und eine Liste von tblBlogMedias zu bekommen.

Sie könnten diesen Code versuchen:

var query2 = (from c in db.tblBlogs 
    orderby c.Id descending 
    group c.tblBlogMedias by new { c.Id, c.Name } into gb //It will show Id and name of tblBlogs, you can use more fields if you want 
    select new { 
     Id = gb.Key.Id, 
     Name = gb.Key.Name, //I don't know if you have this field, but you should change it 
     SecondTable = gb.ToList() 
    }) 
    .OrderByDescending(o => o.Id) //this orderby with FirstOrDefault() replace where c.id==db.tblBlogMedias.Max(p=>p.id) 
    .FirstOrDefault(); 
+0

wie diese Abfrage in Entity Framework zu schreiben. dh der Code geschrieben. oben: tblBlog select *, tblBlogMedia.BlogPicturePath von tblBlog linken äußeren Verknüpfung tblBlogMedia auf tblBlog.id tblBlogMedia.BlogId = wo tblBlogMedia.id = (select max (id) aus tblBlogMedia wo blogid = '1') hier BlogId = '1' ist nur zum Beispiel ich will samething wie BlogId = @blogid –

Verwandte Themen