webForumDet fria alternativet

O/R mapping?

.NET

10 svar · 799 visningar · startad av Compusa

Medlem sedan jan. 20023 327 inlägg
Frågan#1

Någon som vet en bra sida där man kan läsa om O/R mapping? Dvs hur det fungerar och hur en implementation kan se ut.

Mycket tacksam för svar :)

Medlem sedan jan. 20023 327 inlägg
#2

För andra som är intresserade hittade jag denna artikel: http://www.15seconds.com/issue/020805.htm

Och denna:
http://www.dotnetspider.com/technology/tutorials/ObjectSpaces.aspx

Verktyget Microsoft .NET ObjectSpaces verkar inte finnas i Microsoft Visual Studio.net 2003 vilket jag har? Finns det något annat alternativt verktyg (gärna gratis) för att mappa med databasen?

Medlem sedan dec. 19996 721 inlägg
#3

Wilson ORMapper är det närmaste ObjectSpaces man kan komma.

http://www.ormapper.net/

Medlem sedan jan. 20023 327 inlägg
#4

Tack emission. Om jag vill använda ObjectSpaces så är Microsoft Visual Studio.net 2005 ett måste?

Medlem sedan juli 20011 304 inlägg
#5

Jag tror att du får vänta längre än så på objectspaces. Vad jag förstått så är hela projektet uppskjutet på obestämd framtid...

Medlem sedan jan. 20023 327 inlägg
#6

Jaha okej. Läst någonstans i en tråd här på WF att det rekommenderades att använda O/R-mapping. Min fråga är hur ni löser detta?

Medlem sedan sep. 20011 914 inlägg
#7

ObjectSpaces väl borttaget. Det nya heter DLinq - .NET Language Integrated Query for Relational Data. Vilket då skall ses som en del av ado.net v3.0.

Exempel från tidig alpha, eller nåt.

public partial class Northwind : DataContext
{
	public Table<Customer> Customers;
	public Table<Order> Orders;
	public Northwind(string connection): base(connection) {}
}

...

Northwind db = new Northwind("c:\\northwind\\northwnd.mdf");
var q =
	from c in db.Customers
	where c.City == "London"
	select c;
foreach (var cust in q)
	Console.WriteLine("id = {0}, City = {1}",cust.CustomerID, cust.City);
Medlem sedan jan. 20023 327 inlägg
#8

Okej, tack Dino. Så vad säger ni, ska man vänta med O/R-mapping och köra "traditionellt"? Är O/R-mapping och Hibernating samma sak? Har hört om Hibernating i Java.

Det känns lite vilseledande när man läser artiklar här och var som säger att man ska använda O/R-mapping och sedan finns det inget verktyg som stödjer det. Är tanken att man ska skriva allt manuellt? Det här känns väldig rörigt...

Länk till posten i tråden som fick mig att börja fundera på det här med O/R-mapping: http://www.webforum.nu/showthread.php?p=904173#post904173

Medlem sedan maj 20012 812 inlägg
#9

Det känns lite vilseledande när man läser artiklar här och var som säger att man ska använda O/R-mapping och sedan finns det inget verktyg som stödjer det. Är tanken att man ska skriva allt manuellt? Det här känns väldig rörigt...

O/R Mapping skall användas när det är rätt att göra det. Det vill säga i lite större projekt när du har en massa klasser som du vill opererar på. Skall du bygga en website som endast skall presenterar data från en databas så är det "overkill" att använda sig av en O/R Mapper. Då är det bättre att använda sig av de inbyggda objekten i .NET så som DataReader och Repeater.

O/R Mapper använder du om du vill få en bra OO struktur även ditt projekt.

Det finns massor med verktyg som stöder O/R Mapper, men oftas inte rena utvecklingsvertyg. Utan då speciella verktyg från de olika O/R Mappers leverantörerna. Men de flesta leverantörerna har någon sorts genereringsmotor som kan generera de objekt som du skall använda utifrån din databas.

- M

Medlem sedan jan. 20023 327 inlägg
#10

Tack för svaret, nu vet jag vad som gäller. Jag är ofta sugen på att pröva på dessa tekniker för att skaffa mig nödvändig erfarenhet om hur jag ska bygga en arkitektur för större projekt. Men jag kanske ska börja på en lämplig nivå först innan jag ger mig in på djupet.

Tack i alla fall för alla svar :)

Medlem sedan jan. 2004501 inlägg
#11

Jag har kollat på den del O/RMappers som. NPersist, NHibernate och Wilsons ORMapper och jag måste säga att den som är lättast att använda och komma igång är Wilsons ORMapper.

Vill man ha en genererings motor kan man använda verktyg som codesmith och liknande. Själv skriver jag alla mappningar och klasser för hand. Tar inte så lång tid, mesta dels en massa copy paste:ande.

Gå in och kolla på alla mappers och se själv vad du tycker. Personligen så älskar jag Wilsons ORMapper. Men många gillar NHibernate och NPersist.

De är rätt så lätt att komma igång med när man vet hur man ska starta upp ORMappern och kalla på den.

475 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
346 ms — deklarationer (db)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)
346 ms — ändringar (db)