Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

'System.Data.Entity.DynamicProxies

[es] :: .NET :: WPF Programiranje :: 'System.Data.Entity.DynamicProxies

[ Pregleda: 3469 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

theilusion

Član broj: 331616
Poruke: 44
*.teol.net.



+1 Profil

icon 'System.Data.Entity.DynamicProxies22.07.2016. u 08:01 - pre 93 meseci
Da li neko može da mi pomogne da rešim ovaj problem.
U combobox treba da ucitam 2 podatka.Da bude jasnije evo konkretan primer. Treba mi lista svih automobila i registarskih tablica.
Napravim lepo jedan <DataTemplate>:

Code:

<DataTemplate x:Key="carTemplate">
        <Grid>
            <Grid.ColumnDefinitions>
                <ColumnDefinition ></ColumnDefinition>
                <ColumnDefinition></ColumnDefinition>
                <ColumnDefinition ></ColumnDefinition>
                <ColumnDefinition ></ColumnDefinition>
            </Grid.ColumnDefinitions>
            <TextBlock Grid.Column="0" Text="{Binding name}" Margin="5,0"></TextBlock>
            <TextBlock Grid.Column="1" Text="{Binding manufacturer}" Margin="5,0"></TextBlock>
        </Grid>
    </DataTemplate>


Moj combobox izgleda ovako:
Code:

<ComboBox Name="cboxVozilo" Grid.Row="1" Grid.Column="0" ItemsSource="{Binding}" ItemTemplate="{StaticResource carTemplate}" 
Margin="3" VerticalContentAlignment="Center" FontSize="18" IsEditable="True"  
SelectionChanged="cboxVozilo_SelectionChanged" DropDownOpened="cboxVozilo_DropDownOpened"/>


Evo mog upita gde punim listu
Code:

using (CarEntities cntx = new CarEntities())
            {
                var carlist = cntx.Car.Where(c => c.idWorkingUnit==idOrgUnit).ToList();
                foreach (Car car in carlist)
                {
                    CarList.Add(car);
                }
            }


Zaista mi se u combobox izlista sve kako sam zeleo, ali kad odaberem stavku iz liste dobijem ovo:
Code:
System.Data.Entity.DynamicProxies.Car_446B939192F161CDBC740067F174F7A6059B0F9C0EEE68CD3EBBD63CF9AF5BD0'.



Citao sam o "DynamicProxies", ali ništa što sam probao od predloga sa stackoverflow nije uspelo.
Ovo takodje ne radi.
Code:
cntx.Configuration.ProxyCreationEnabled = false;


Hvala unapred.
 
Odgovor na temu

dusans
Stojanov Dušan
Pančevo

Član broj: 9551
Poruke: 1343
*.dynamic.sbb.rs.



+311 Profil

icon Re: 'System.Data.Entity.DynamicProxies22.07.2016. u 09:02 - pre 93 meseci
1. Ovo sve
Code:

var carlist = cntx.Car.Where(c => c.idWorkingUnit==idOrgUnit).ToList();
foreach (Car car in carlist)
{
    CarList.Add(car);
}

možeš da zameniš sa ovime:
Code:

CarList.AddRange(cntx.Car.Where(c => c.idWorkingUnit==idOrgUnit));

2. Šta znači dobiješ System.Data.Entity.DynamicProxies.Car_446B939192F161CDBC740067F174F7A6059B0F9C0EEE68CD3EBBD63CF9AF5BD0?
Tako nešto i trebaš da dobiješ, u čemu je tačno problem što si dobio proxy objekat, šta tu ne valja?
 
Odgovor na temu

theilusion

Član broj: 331616
Poruke: 44
*.teol.net.



+1 Profil

icon Re: 'System.Data.Entity.DynamicProxies22.07.2016. u 11:11 - pre 93 meseci
Izvinjavam se malo sam napisao zbunjujuce objasnjenje.
U combobox se ucita proxy objekat umesto stringa.

Ovo dobijem kad izlistam stavke iz combobox-a sto je OK.
Code:
http://prntscr.com/bw29rk


Ovo dobijem kad odaberem jednu od stavki iz combobox-a.
Code:
http://prntscr.com/bw2amr


Napominjem, sto sam takodje zaboravio, da mi je CarList Observablecollection.

Hvala i izvinjavam se na mnogo zbunjujucih pojmova.



 
Odgovor na temu

dusans
Stojanov Dušan
Pančevo

Član broj: 9551
Poruke: 1343
*.dynamic.sbb.rs.



+311 Profil

icon Re: 'System.Data.Entity.DynamicProxies22.07.2016. u 11:21 - pre 93 meseci
Problem nema nikakve veze sa EF već isključivo sa ComboBox-om.

1. Ako combo ne treba da bude editable, skini mu IsEditable="true" i radiće ti sve kako treba.

2. Ako combo box treba da bude editable, onda stavi npr. DisplayMemberPath="name" da bi ti prepisao vrednost propertija u tekst.
Dok to ne postaviš DisplayMemberPath, po defaultu se koristi ToString() selektovanog itema, zato i dobijaš Car_446B93...

3. ObservableCollection koristi kao source jedino ako trebaš u međuvremenu da petljaš sa item-ima a da ti combo ostane u sinhronizaciji sa njima.
Čisto sumnjam da je to tvoj slučaj, u praksi u 95% slučajeva ne treba observable.

[Ovu poruku je menjao dusans dana 22.07.2016. u 12:37 GMT+1]
 
Odgovor na temu

corelko

Član broj: 165571
Poruke: 92
*.teol.net.



+6 Profil

icon Re: 'System.Data.Entity.DynamicProxies30.01.2017. u 12:00 - pre 87 meseci
Da ne bi otvarao novu temu iskoristicu ovu jer se problem "produbio".
Inace ovo sto si napisao @dusans je ok i radi. Medjutim sad mi se javila potreba da combobox bude editabile i sto u combobox-u zelim da prikazem vise
stringova. Konkretno ja priakzujem naziv vozila i registarski broj i prikaz radi,tj. izlistavanje stavki radi (pod uslovom da je IsEditable="False")

Sad jednostavno hocu da dozvolim da se stavke iz combobox-a pretrazuju kucanjem sa tastature jer je lista stavki predugacka da bi se scroll-ovala misom.
Problem mi dodatno stvara to sto stavke u combobox-u prikazujem preko datatemplate koji sam napravio kao jedan resource file. Evo kako to sve izgleda i napominjem da i dalje koristim ObservablenCollectio. CarList

ComboBox mi se zove cboxVozilo


XAML (combobx):
Code:
<ComboBox Name="cboxVozilo"  ItemsSource="{Binding}"  ItemTemplate="{StaticResource carTemplate}" IsEditable="True" SelectionChanged="cboxParts_SelectionChanged"  DropDownOpened="cboxRezDio_DropDownOpened"/>




XAML (carTemplate):
Code:
<DataTemplate x:Key="carTemplate">
        <Grid>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="Auto"></ColumnDefinition>
                <ColumnDefinition></ColumnDefinition>
                <ColumnDefinition Width="Auto"></ColumnDefinition>
            </Grid.ColumnDefinitions>
            <TextBlock Grid.Column="0" Text="{Binding name}" Margin="5,0"></TextBlock>
            <TextBlock Grid.Column="1" Text="-" Margin="5,0"></TextBlock>
            <TextBlock Grid.Column="2" Text="{Binding registerNumber}" Margin="5,0" Foreground="Orange"></TextBlock>
        </Grid>
    </DataTemplate>



C#
Code:
cboxVozilo.ItemsSource = CarList;


Hvala unapred i da ne bude zabune imam dva nika posto sam bio zaboravio login pa eto sad se slucajno logovah drugacije.


 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12846



+4783 Profil

icon Re: 'System.Data.Entity.DynamicProxies30.01.2017. u 13:19 - pre 87 meseci
Dodaj u Car klasu property samo sa get-om koji vraca sastavljen string od imena i registracije i koristi taj property kao display member. Nece ti ni trebati data template, a trebalo bi da mozes i da imas autocomplete (kad krenes da kucas popunice ti prvi sa tekstom koji tako pocinje) bez da ista diras osim da stavis IsEditable = true
Ako hoces bas search po "contains" kriterijumu, morace malo da se komplikuje :)
 
Odgovor na temu

[es] :: .NET :: WPF Programiranje :: 'System.Data.Entity.DynamicProxies

[ Pregleda: 3469 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.