Programim dhe zhvillim, javascript, python, php, html

Breeze: Si të përdorni kodin e konstruktorit të entitetit në server?

Pyetja mund të duket gjithashtu si "Pse kodi im i inicializimit të objektit në server nuk funksionon?".

Për shembull,

public class Order
{
    public int Id { get; set; }
    public int Quantity { get; set; }

    public Order()
    {
        Quantity = 10;
    }
}

Nga korrigjuesi, mund të shoh që konstruktori është thirrur dhe Sasia është vendosur, megjithatë, nuk po hyn në fuqi. Më duhet të vendos Sasinë në anën e klientit pasi të krijohet entiteti për ta bërë atë të funksionojë.

A ka ndonjë mënyrë për të funksionuar inicializimi në server? Nga rruga, projekti im është në Angular/Breeze/EF.

PËRDITËSIM: Ndërsa gërmoj pak më tej, besoj, kjo është "çështja" e përgjithshme me Breeze që ndryshimi i anës së serverit duhet të shtohet në të ashtuquajturin entityInfo.OriginalValueMap, përndryshe, ndryshimi i tij nuk ruhet. Nëse është e vërtetë, si mund të punohet rreth këtij kufizimi sepse kam shumë vlera të paracaktuara që do të doja të vendosja në server?

Kështu e krijoj entitetin tim:

var manager = new breeze.EntityManager("breeze/breeze");
manager.enableSaveQueuing(true);

    function _createEntity(entityName) {
        return manager.createEntity(entityName);
    }

  • Çfarë do të thuash me mosfunksionimin e tij? Kur po krijoni një shembull të ri të Porosisë, a nuk është 10? Është vetëm vlera e paracaktuar. 05.04.2014
  • Nuk funksionon do të thotë që unë ende shoh sasinë = 0 te klienti. 06.04.2014

Përgjigjet:


1

Vendosja e çdo kodi inicializimi në server në konstruktorin e modelit nuk do të funksionojë thjesht sepse klienti JavaScript nuk di asgjë rreth kodit të konstruktorit C# në server.

DefaultValueAttribute nderohet vetëm kur jeni duke ndërtuar një meta të dhëna Modeli-First. Fatkeqësisht, ajo injorohet nga EF kur ndërton një meta të dhëna të modelit Code-First.

Unë sugjeroj që të shihni Breeze - Krijo entitet në anën e serverit për mënyrën se si një përdorues tjetër zgjidh një situatë të ngjashme duke krijuar një "create Endpoint" në server që në thelb kthen një entitet të ri me vlerat e paracaktuara.

11.04.2014

2

Ju nuk keni nevojë të krijoni një konstruktor për të vendosur vlerat e paracaktuara. Thjesht shtoni shënimin e të dhënave të vlerës së paracaktuar në çdo pronë që dëshironi të vendosni vlerën e saj të paracaktuar:

[DefaultValue(10)]
public int Quantity { get; set; }

Gjithashtu, merrni parasysh të mos inicializoni Sasinë kur krijoni një entitet në anën e klientit.

06.04.2014
  • Kjo do të ishte e mrekullueshme. Mirëpo, si nuk më funksionon as mua. Çfarë më ka munguar? 07.04.2014
  • @miliu Nëse mund ta shihni vlerën order.qty me 10 te klienti console.log(order.qty), atëherë duhet të funksionojë. Kështu vendosa vlerat e mia të paracaktuara. Si e krijoni entitetin tek klienti? Kodi? 08.04.2014
  • ju lutemi shikoni përditësimin tim më sipër për mënyrën se si e krijoj entitetin tim. 10.04.2014
  • Materiale të reja

    Masterclass Coroutines: Kapitulli-3: Anulimi i korutinave dhe trajtimi i përjashtimeve.
    Mirë se vini në udhëzuesin gjithëpërfshirës mbi Kotlin Coroutines! Në këtë seri artikujsh, unë do t'ju çoj në një udhëtim magjepsës, duke filluar nga bazat dhe gradualisht duke u thelluar në..

    Faketojeni derisa ta arrini me të dhënat false
    A e gjeni ndonjëherë veten duke ndërtuar një aplikacion të ri dhe keni nevojë për të dhëna testimi që duken dhe duken më realiste ose një grup i madh të dhënash për performancën e ngarkesës...

    Si të përdorni kërkesën API në Python
    Kërkesë API në GitHub për të marrë depot e përdoruesve duke përdorur Python. Në këtë artikull, unë shpjegoj procesin hap pas hapi për të trajtuar një kërkesë API për të marrë të dhëna nga..

    Një udhëzues hap pas hapi për të zotëruar React
    Në këtë artikull, do të mësoni se si të krijoni aplikacionin React, do të mësoni se si funksionon React dhe konceptet thelbësore që duhet të dini për të ndërtuar aplikacione React. Learning..

    AI dhe Psikologjia — Pjesa 2
    Në pjesën 2 të serisë sonë të AI dhe Psikologji ne diskutojmë se si makineritë mbledhin dhe përpunojnë të dhëna për të mësuar emocione dhe ndjenja të ndryshme në mendjen e njeriut, duke ndihmuar..

    Esencialet e punës ditore të kodit tim VS
    Shtesat e mia të preferuara - Git Graph 💹 Kjo shtesë është vërtet e mahnitshme, e përdor përpara se të filloj të punoj për të kontrolluar dy herë ndryshimet dhe degët më të fundit, mund të..

    Pse Python? Zbulimi i fuqisë së gjithanshme të një gjiganti programues
    Në peizazhin gjithnjë në zhvillim të gjuhëve të programimit, Python është shfaqur si një forcë dominuese. Rritja e tij meteorike nuk është rastësi. Joshja e Python qëndron në thjeshtësinë,..