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

WCF i LINQ pitanja

[es] :: .NET :: WCF i LINQ pitanja

[ Pregleda: 2987 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

_v!rus_
BGD

Član broj: 40451
Poruke: 313
*.dsl.siol.net.



+1 Profil

icon WCF i LINQ pitanja22.01.2008. u 22:58 - pre 197 meseci
Pokusavam da napravim jednostavnu c/s aplikaciju za .net 3 u VS-u 2k8 koristeci WCF i LINQ, cisto da se upoznam sa novim/jim tehnologijama :)

Server aplikacija je napravljena za 2 min., glavni service metod je "MojEntitet GetMojEntitet(int RecordID)", a klasa MojEntitet je dobijena sa LINQ to SQL wizardom koji kreira strongly typed klasu MojEntitet. Problem je u tome sto je klasa MojEntitet automatski generisana od strane wizarda. Da bi je "provukao" kroz WebService moram da oznacim klasu sa [DataContract] atributom i svaki public property koji predstavlja po jedno polje entiteta sa [DataMember] atributom direktno u DataClasses.designer.cs fajlu, i onda stvar radi, ali posle ponovnog generisanja fajla promene se naravno gube. Kako da "nateram" designer da koristi pomenute atribute, ako je to uopste moguce? Jos jednom da pakujem svaki entitet u neku trecu klasu samo da bi ga remotovao?

U vezi LINQ-a, kako da prosledim LINQ query nekom metodu, da bi ga on izvrsio "po svom nahodjenu"?

Druga stvar, da li postoji LINQ ekvivalent za SQL WHERE IN, tj. subquerie i liste, npr.
SELECT * FROM Tabela1 t1 WHERE t1.ID_Tabela2 IN (SELECT ID FROM Tabela2 WHERE Tabela2.X = 'Y') --moze isto u INNER JOIN varijanti, mada mi se ovo vise svidja :)
ili
SELECT * FROM Tabela WHERE ID.Vrednost IN (1, 3, 5, 7)

Hvala
 
Odgovor na temu

kuzmam
ireland

Član broj: 46518
Poruke: 31
212.147.139.*



Profil

icon Re: WCF i LINQ pitanja25.01.2008. u 11:44 - pre 197 meseci
potrazi odgovor za linq ovde:

http://tomasp.net/blog/linq-expand-update.aspx

 
Odgovor na temu

logic_rabbit
Radenko Zec
banjaluka

Član broj: 74458
Poruke: 271
*.lanaco.com.



+1 Profil

icon Re: WCF i LINQ pitanja25.01.2008. u 12:52 - pre 197 meseci
Wcf vjerovatno sve dobro radi,dizajner sigurno nije namjenjen da se u njemu rucno kuca kod (osim posebnih slucajeva :-)).

Mozda ti trebas da vratis genericku listu nekog tipa kada se pozove metod.
Primjer sa Northwind tabelom Customer:

Code:

 public class Service1 : IService1
    {
        public List<Customer> DoWork()
        {
            DataClasses1DataContext db=new DataClasses1DataContext();
            var query = from cus in db.Customers
                        select cus;
            return query.ToList<Customer>();
        }
    }



I ovde promjeniti interface u
Code:

 [ServiceContract]
    public interface IService1
    {
        [OperationContract]
         List<Customer> DoWork();
    }


logic_rabbit (MCAD,MCSD,MCT,MCTS-
Windows development,MCPD)
 
Odgovor na temu

_v!rus_
BGD

Član broj: 40451
Poruke: 313
*.dsl.siol.net.



+1 Profil

icon Re: WCF i LINQ pitanja25.01.2008. u 19:35 - pre 197 meseci
@logic_rabbit:

Ne vredi, tako nece da poleti. Kada ukljucim trace u web.config vidim exception:
System.Runtime.Serialization.InvalidDataContractException: Type 'WcfService2.XYZ' cannot be serialized. Consider marking it with the DataContractAttribute attribute, and marking all of its members you want serialized with the DataMemberAttribute attribute.

Navedene atribute mogu samo da postavim u source-u (koliko ja znam) gde je definisana klasa i property-ji koje zelim da provucem, ali to znaci da moram da menjam *.designer.cs fajl, znaci back to square one.
 
Odgovor na temu

logic_rabbit
Radenko Zec
banjaluka

Član broj: 74458
Poruke: 271
*.broadband.blic.net.



+1 Profil

icon Re: WCF i LINQ pitanja26.01.2008. u 08:29 - pre 197 meseci
To je zato sto nece da serijalizuje relacije kada dodas vise tabela u Datacontext.
Imas jedan clanak o tome na Codeprojectu gdje je covjek pravio svoje Helper klase za serializaciju.
http://www.codeproject.com/KB/dotnet/linqsqlserialization.aspx

Ili da koristis ne direktno u designer.cs fajlu promjene koje si napravio nego u dizajneru stavis serialization mode na
Unidirectional i on ce sam da generise [DataContract] ...
da ti to neradis rucno u designer.cs fajlu :-).

Pozdrav


logic_rabbit (MCAD,MCSD,MCT,MCTS-
Windows development,MCPD)
 
Odgovor na temu

[es] :: .NET :: WCF i LINQ pitanja

[ Pregleda: 2987 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

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