Vertraging laden dure velden in Entity Framework v.1

stemmen
4

Na de jacht rond het net, en denken dat ik zou komen met de oplossing, ik schijn een bakstenen muur geraakt te hebben.

Ik heb een tabel in mijn database: Foto's; met kolommen voor PhotoID, Bijschrift, Bestellen, en vier sets van binaire data: Original, grote, middelgrote en kleine (ja, het was gebaseerd op de oude ASP.NET starter kit met diverse fixes, etc).

Ik ben in het proces van het verplaatsen van L2S naar Entity Framework voor een aantal van de voordelen die ik lijken met die te krijgen - zodat ik niet meer nodig om te gaan door middel van een PhotosTags woning aan de lijst van tags gekoppeld aan een foto bijvoorbeeld te krijgen, maar ik ben op zoek naar een manier om te vertragen het laden van de binaire data - het grootste deel van de tijd, ik heb alleen de titel, markering, en identiteitsbewijs nodig, en ik vervolgens overhandigen deze af naar een ander gebied van de binaire gegevens op te halen wanneer een gebruiker daadwerkelijk ziet de afbeelding .

Ik heb een kijkje op de volgende berichten genomen:

  1. Hoe maak je een tabel met gegevens te splitsen?
  2. “Table Splitting”: in kaart brengen van meerdere soorten entiteit aan dezelfde tafel.
  3. Hoofdstuk 7 van: Entity Framework Learning Guide (7.1 Vertraging laden van dure velden)

En ik eindigde met een Entity Mapping er als volgt uitziet:

Entiteit Diagram http://www.doodle.co.uk//UserFiles/Image/EF-LazyLoad.png

En, volgens de links hierboven, ik wijzigde de EDMX bestand naar de volgende verwijzingsvoorwaarde zijn onder meer:

<ReferentialConstraint>
  <Principal Role=Photos>
    <PropertyRef Name=PhotoID />
  </Principal>
  <Dependent Role=PhotoDetails>
    <PropertyRef Name=PhotoID />
  </Dependent>
</ReferentialConstraint>

Het model valideert, maar heeft niet bouwen - als gevolg van een probleem met de Tags mapping denk ik:

Fout 3019: Probleem bij het in kaart brengen Fragmenten beginnend bij de lijnen 871, 892: Onjuiste kaart brengen van de samengestelde sleutel kolommen. Foreign key constraint 'FK_siteContent_TagsPhotos_siteContent_Photos' uit tabel siteContent_TagsPhotos (PhotoID) aan tafel siteContent_Photos (PhotoID): Kolommen (PhotoID) in tabel siteContent_TagsPhotos worden toegewezen aan eigenschappen (PhotoID) in siteContent_TagsPhotos en kolommen (PhotoID) in tabel siteContent_Photos worden toegewezen aan eigenschappen (PhotoID) in PhotosPhotoDetails. De volgorde van de kolommen door de toewijzingen niet behouden.

De relatie van foto's tot Tags is via een link tafel, columns PhotoID, TagID.

Heeft iemand in geslaagd om ofwel deze aanbevelingen, of iets dergelijks, om te werken met het Entity Framework in .NET 3.5 SP1 met een datastructuur als deze? Of kunt u wijzen op de beperkingen van mijn GoogleFU?

Ik weet dat dit alles veel gemakkelijker in .NET 4 zal zijn, maar dat is niet hier, en het zal waarschijnlijk blijven nadat deze wordt vrijgegeven dat mijn gastheer begint het aanbieden om het ergens te installeren.

Bedankt.

De vraag is gesteld op 26/08/2009 om 22:55
bron van user
In andere talen...                            


1 antwoorden

stemmen
2

Ik heb hetzelfde probleem geraakt en terwijl ik nog niet een oplossing gevonden voor 3.5SP1 ik bevestigen dat dit fout gaat weg met EF 4.0.

Eigenlijk zou een mogelijke oplossing voor u zijn om een ​​ander veld te gebruiken voor de primaire sleutel in uw PhotoDetails entiteit.

antwoordde op 04/09/2009 om 06:02
bron van user

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more