webForumDet fria alternativet

ORMapper och Datalagret

13 svar · 495 visningar · startad av asmodie

asmodieMedlem sedan jan. 2004730 inlägg
#1

Hej,
Har en allmänfråga angående om hur ni använder ORMappern och Datalagret.

Jag undrar hur ni skickar data från datalagret? Använder ni de klasser som ORMappern genererar för att skicka vidare datan eller skapar ni speciella klasser för det?

GladhMedlem sedan maj 20013 024 inlägg
#2

I min värld så är datalagret gömt av OR-Mappern. Alltså OR-Mappern använder sig av DataLagret för att hämta data, medans din applikation använder sig av OR-Mappern för att hämta data.

Det finns tillfällen då man använder speciella klasser för att transportera data (jag kallar dem för entitys) som kan innehålla data från flera "OR-mapper" klasser. Men oftas så brukar jag låta min applikation använda de klasser som fylls av OR-Mappern, eftersom jag är lat och inte orkar hålla på med att flytta data mellan 2 olika objekt som ser nästan helt identiska ut.

- Magnus

asmodieMedlem sedan jan. 2004730 inlägg
#3

Gladh skrev:

Det finns tillfällen då man använder speciella klasser för att transportera data (jag kallar dem för entitys) som kan innehålla data från flera "OR-mapper" klasser. Men oftas så brukar jag låta min applikation använda de klasser som fylls av OR-Mappern, eftersom jag är lat och inte orkar hålla på med att flytta data mellan 2 olika objekt som ser nästan helt identiska ut.

- Magnus

Precis min tanke.

Ska man använda ObjectSet eller ObjectList?

Kan man få objectSeten som ormappern genererar att bli typade?

GladhMedlem sedan maj 20013 024 inlägg
#4

Ska man använda ObjectSet eller ObjectList?

Vad menar du med ObjectSet och ObjectList? Är det en collection av objekten som du menar. Så fall kan du få de typade genom att skapa en collection för varje class, men du måste i denna collection använda dig av otypade objekt från OR-Mappern.

Om du bestämmer dig för att använda .NET 2.0 så kan du använda Generics, och kan då starkt typade collections utan att skapa en ny collection klass för varje Klass.

Men som sagt vad är skillnaden på objectSet/objectList i din definition?

- M

asmodieMedlem sedan jan. 2004730 inlägg
#5

Hur skapar jag en typad collection från ORMappern? Tex:
MinCollection workAdroups = Manager.GetObjectSet(typeof(WorkAdGroup), string.Empty);

Hur skapar jag min Collection på ett bra sätt?

Wilsons definition på de två olika:

ObjectList - The Wilson.ORMapper.ObjectList class is a lazy-loading collection of entity objects. It implements IObjectSet, and thus IList, and ILoadOnDemand, so see the interfaces for more details.

ObjectSet - The Wilson.ORMapper.ObjectSet class is the main type of collection of entity objects. It implements IObjectSet, and thus IList, so see the interfaces for more details.

GladhMedlem sedan maj 20013 024 inlägg
#6

Hur skapar jag en typad collection från ORMappern? Tex:
MinCollection workAdroups = Manager.GetObjectSet(typeof(WorkAdGroup), string.Empty);

Nope så kan du inte göra eftersom Manager.GetObjectSet() måste returnera en basetype/interface/array of objekts.

Om du vill skapa en typad collection från din datamaster så måste du själv skapa din collection och i denna collection så använder du ORMappern, typ så här.

public class MyCollection : BaseCollection{

 public MyClass GetItem(int Id){
   return (MyClass) base.GetItem(id);
 }
 public void Add(MyClass myClass){
  base.Add((object)myClass);
 }
}

Nu har du fått en typad collection som endast kan taemot MyClass och lämna tillbaka en MyClass objekt.

- Magnus

asmodieMedlem sedan jan. 2004730 inlägg
#7

Gladh. Jag tackar så jätte mycket.

Jag fortsätter mina frågor.

Om man t.ex. vil selecta top 5 när man använder OR mappern? Hur gör man?

GladhMedlem sedan maj 20013 024 inlägg
#8

Antingen så bygger man in den funktionalliteten i ORMappern så att du kan skicka med attribute som TOP 5 till databasen, eller så hämtar ORMapperna ALL data som finns i databasen och sedan så har man en funktion som endast hämtar ut en delmängd från den collection som ORMappern har returnerat... Det finns för och nackdelar med båda, man väljer det som man tror passar en bäst.

- M

asmodieMedlem sedan jan. 2004730 inlägg
#9

Finns TOP 5 funktionen i Wilsons ORMapper?

Ska själv försöka ta reda på det. Men vore glaf för ett svar.

GladhMedlem sedan maj 20013 024 inlägg
#10

Finns TOP 5 funktionen i Wilsons ORMapper?

Vet inte då jag aldrig har använt mig av den...

- M

asmodieMedlem sedan jan. 2004730 inlägg
#11

Hur gör du då om du bara vill ha de 5 första posterna med ormappern?

NöffMedlem sedan nov. 2003569 inlägg
#12

Och hur kalkylerar man aggregata värden ?

GladhMedlem sedan maj 20013 024 inlägg
#13

Min ORMapper hämtar ut all data som matchar min sökkriteria och därefter så hämtar jag ut en delmängd av objekt från collection.

- Magnus

GladhMedlem sedan maj 20013 024 inlägg
#14

Och hur kalkylerar man aggregata värden ?

Antingen så bygger man in funktionalliteten i sin O/RMapper (vilket inte är troligt).

Eller så låter man O/RMapper köra en SP som har en fördefinerad sqlsats.

en O/RMapper är inget substitut för SQL språket och har väldigt svårt att se att det någonsin kommer komma en O/RMapper som kan hantera alla SQLKommand. Den enklast vägen ut är att exekvera en SP.

- M

Genererad på 394 ms · cache AV · v20260730165559-full.f96bc7eb