Laden...

RAWSQL -> Linq

Erstellt von Platoon vor 3 Jahren Letzter Beitrag vor 3 Jahren 680 Views
P
Platoon Themenstarter:in
57 Beiträge seit 2017
vor 3 Jahren
RAWSQL -> Linq

verwendetes Datenbanksystem: MSSQL 2014 Express

Hallo zusammen,

ich komme mit einer Lina-Query nicht klar. Kongret geht es um eine SELECT-JOIN-GROUPBY Abfrage.

Die Originalquery ist folgende:


SELECT COUNT (type), documentTypes.typeExtension AS extension FROM documents INNER JOIN documentTypes on documentTypes.id = documents.type WHERE isActive = 1 AND (documents.userid = @uid OR documents.forall = 1) GROUP BY type, documentTypes.typeExtension

Ich habe schon ein paar Dinge ausprobiert und selbst statt eines anonymen Typen versucht, einen eigenen nicht gemappten Typen zurück zugeben.

Ziel soll es sein, dass ich die Möglichkeit habe die X-Label Avis von einem Livechart zu beschriften.

Mit einer anderen Linq-Query habe ich das geschafft....


        public void GetDocumentSize()
        {
            Mapper = null;
            DocumentSizeMSSQL = null;
            DocumentLabels = null;
            DocumentsYLabels = null;

                Mapper = Mappers.Xy<documents>().X((docSize, index) => index).Y(docSize => Convert.ToDouble(docSize.fSize));

                var records = new msModel().documents.Where(x => x.isActive == true).Where(x => x.userid == App.UserID || x.forAll == true).OrderByDescending(x => x.fSize).Take(5).ToArray();

                DocumentSizeMSSQL = records.AsChartValues();
                DocumentLabels = new ObservableCollection<string>(records.Select(x => (string.Concat(x.documentName.Substring(0, 4), "..."))));

                DocumentsYLabels = value => value + " MB";
        }


Hat jemand einen Denkanstoß?

.....an unhandled exception is the first way to think about your pattern of programming....
.....nur weil ich nicht weiß was dort passiert, bedeutet es nicht, dass ich nicht weiß, wie man es lösen kann - aber das ist wahrscheinlich....

4.938 Beiträge seit 2008
vor 3 Jahren

Hallo und willkommen,

was hast du denn schon ausprobiert und was paßt dabei nicht?

P
Platoon Themenstarter:in
57 Beiträge seit 2017
vor 3 Jahren

Hi,

ich habe es gelöst bekommen. Mein Problem war schlicht das Zusammenspiel zwischen Group + Count das nicht so wollte wie es sollte --> manchmal ist halt nachdenken und drüber schlafen besser.

Somit tut´s:


            var result = (from item in App.msModel.documents
                          join types in App.msModel.documentTypes
                          on item.type equals types.id
                          group types by new { types.typeExtension, types.id } into g
                          select new JoindSize
                          {
                              FileType = g.Key.typeExtension,
                              ID = g.Key.id,
                              Amount = g.Count(x=>x.typeExtension != null)
                          }

            ) ;

Vielen Dank dennoch für die Antwort 😃.

.....an unhandled exception is the first way to think about your pattern of programming....
.....nur weil ich nicht weiß was dort passiert, bedeutet es nicht, dass ich nicht weiß, wie man es lösen kann - aber das ist wahrscheinlich....