<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>WCF</title>
        <link>http://blogs.ugidotnet.org/ainotame/category/WCF.aspx</link>
        <description>WCF</description>
        <language>it</language>
        <copyright>Roberto Sarati</copyright>
        <generator>Subtext Version 2.6.0.0</generator>
        <item>
            <title>[LightSwitch] Utilizzare l'ObjectContext ApplicationData da WCF Ria Service</title>
            <link>http://blogs.ugidotnet.org/ainotame/archive/2011/11/30/lightswitch-utilizzare-lobjectcontext-applicationdata-da-wcf-ria-service.aspx</link>
            <description>LightSwitch permette di creare/gestire un database al suo interno senza utilizzare strumenti esterni. Questo DB è chiamato ApplicationData e verrà generato in produzione, in fase di deploy, utilizzando una connection string impostata tramite widzard.
Cosa avviene in pratica:
 - La connessione viene memorizzata, sempre con lo stesso nome "_IntrinsicData", all'interno del web.config deployato.
 - l'ObjectContext di EF viene autogenerato nel file ServerGenerated\GeneratedArtifacts\ApplicationData.cs
Per utilizzare l'ObjectContext in un WCF Ria Service quindi basta:
 - Aggiungere il file al progetto WCF Service (As Link dato che verrà rigenerato)
 - Recuperare l'ObjectContext nel seguente modo:
EntityConnectionStringBuilder builder = new EntityConnectionStringBuilder();builder.Metadata =  "res://*/ApplicationData.csdl|res://*/ApplicationData.ssdl|res://*/ApplicationData.msl";builder.Provider = "System.Data.SqlClient";builder.ProviderConnectionString =  WebConfigurationManager.ConnectionStrings["_IntrinsicData"].ConnectionString;var context = new ApplicationDataObjectContext(builder.ConnectionString);

In questo modo è possibile:
 - eseguire query complesse sul nostro db applicativo (quelle supportate dal provider di EF)
 - sopperire alle "mancanze espressive" delle query linq generate in LightSwitch e poter utilizzare entità custom definite nella nostra libreria (per esempio a fine reportistici)&lt;img src="http://blogs.ugidotnet.org/ainotame/aggbug/100578.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Roberto Sarati</dc:creator>
            <guid>http://blogs.ugidotnet.org/ainotame/archive/2011/11/30/lightswitch-utilizzare-lobjectcontext-applicationdata-da-wcf-ria-service.aspx</guid>
            <pubDate>Wed, 30 Nov 2011 00:20:38 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/ainotame/archive/2011/11/30/lightswitch-utilizzare-lobjectcontext-applicationdata-da-wcf-ria-service.aspx#feedback</comments>
            <slash:comments>40</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/ainotame/comments/commentRss/100578.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/ainotame/services/trackbacks/100578.aspx</trackback:ping>
        </item>
    </channel>
</rss>