webForumDet fria alternativet

skapa en egen DAL med custom entities?

.NET

22 svar · 1 376 visningar · startad av CatZ · sida 2 av 2

Frågan, av CatZ

Jag har läst en massa nu men fattar inte mycket av det jag läser, jag hade tänkt för lärandets skull göra en enkel sida med BLL och DAL till en SQL 2005 databas. Bara något enkelt projekt till att börja med. Nu kan det kanske bero på att jag har adhd att jag inte fattar det jag läser men får jag en färdig lösning att studera så lär jag mig lättare TRODDE JAG! Det här är ju rena grekiskan för mig

Läs frågan i sin helhet →
Medlem sedan jan. 20022 440 inlägg
#21

Det är absolut inget fel på LINQ vad jag har förstått men går det använda med en access databas? :)

Medlem sedan dec. 2005664 inlägg
#22

Linq, behöver inte ha något med din datakälla att göra.

Medlem sedan maj 20012 812 inlägg
#23

CatZ skrev:

2. Göra en join mellan de två som jag tycker och binda till entiteter på NewsEntity. Databasen är ju fortfarande normaliserad men koden blir ju lite lätt denormaliserad...

Ett fel som många gör är att de försöker få sina entiteter att efterlikna databasdesignen (lite av MS fel, faktiskt). Det är helt fel, dina entiteter/objekt skall efterlikna den domänstruktur som du har i ditt företag. Det betyder att information i ett objekt/entit kan vara utsprid på flera olika tabeller och dessutom flera olika datakällor, du kan ha någon information i en SQL-databas, någon annan i en XML-fil och kanske ytterligare någon information som hämtas från en webservices hos en extern leverantör (adressuppgifter kanske?).

I ditt fall med nyhetesentiteter så tycker jag att du skall ha en newsEntity, som i sin tur innehåller en writerEntitet som innehåller information om skribenten.

public class News{

   private Writer _Writer;

   public Writer Writer{get;set;}
}

Antingen så kan du här välja att fylla din writerEntity när du fyller din NewsEntitet i ditt BLL-lager, eller så väljer du att fylla WriterEntitetn med LazyLoading.

Just i detta fall så hade jag nog fyllt all data samtidigt, eftersom du säkert är intresserad av att kunna skriva ut vem som skrivit nyheten. Om du inte tänker använda dig av writerEntitetn i "Första läget" så vänta och fyll den så den bara fylls när den verkligen behövs.

- M

254 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)