<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet type="text/xsl" href="RSS_xslt_style.asp" version="1.0" ?>
<rss version="2.0" xmlns:WebWizForums="http://syndication.webwiz.co.uk/rss_namespace/">
 <channel>
  <title>DevForce Community Forum : Best Practices with EntityManager</title>
  <link>http://www.ideablade.com/forum/</link>
  <description>This is an XML content feed of; DevForce Community Forum : DevForce 2009 : Best Practices with EntityManager</description>
  <pubDate>Sun, 19 Apr 2026 01:29:40 -700</pubDate>
  <lastBuildDate>Thu, 19 Feb 2009 00:19:46 -700</lastBuildDate>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Web Wiz Forums 9.69</generator>
  <ttl>360</ttl>
  <WebWizForums:feedURL>www.ideablade.com/forum/RSS_post_feed.asp?TID=1093</WebWizForums:feedURL>
  <image>
   <title>DevForce Community Forum</title>
   <url>http://www.ideablade.com/forum/forum_images/IdeaBlade_logo_tm.png</url>
   <link>http://www.ideablade.com/forum/</link>
  </image>
  <item>
   <title>Best Practices with EntityManager : Hi,  Thanks, this is basically...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=1093&amp;PID=3926#3926</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.ideablade.com/forum/member_profile.asp?PF=448" rel="nofollow">francois</a><br /><strong>Subject:</strong> 1093<br /><strong>Posted:</strong> 19-Feb-2009 at 12:19am<br /><br /><DIV>Hi,</DIV><DIV>&nbsp;</DIV><DIV>Thanks, this is basically what I was looking for. </DIV><DIV>&nbsp;</DIV><DIV>Will clarify details through email if required.</DIV><DIV>&nbsp;</DIV><DIV>Regards,</DIV><DIV>&nbsp;</DIV><DIV>Francois</DIV>]]>
   </description>
   <pubDate>Thu, 19 Feb 2009 00:19:46 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=1093&amp;PID=3926#3926</guid>
  </item> 
  <item>
   <title>Best Practices with EntityManager :   Originally posted by francoisHi,  I&amp;#039;m...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=1093&amp;PID=3924#3924</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.ideablade.com/forum/member_profile.asp?PF=4" rel="nofollow">GregD</a><br /><strong>Subject:</strong> 1093<br /><strong>Posted:</strong> 18-Feb-2009 at 1:28pm<br /><br /><table width="99%"><tr><td class="BBquote"><strong><em>Originally posted by francois</strong></em><br /><br />Hi,<br>I'm busy evaluating DevForceEF to replace an existing in-house developed framework. Currently we have a client - server information system that is developed in a modular pattern. The client shell provides authentication / authorization services and a desktop. The client also currently support windows authentication and forms authentication.<br><br>The client have a plugin probe directory. If a plugin is found, it is loaded with dependency assemblies and the plugin injects the menus, views etc into the Desktop (very similar to CAB). These plugins can be mixed and matched as required. Each plugin assumes an already authenticated session provided by the client. Plugins can also extend other entities like CAB.<br><br>Implementing this with DevForceEF seems to be a bit more complex as I thought. The authentication / authorization of the client can be achieved by creating a very simple domain model and to use the login with custom login credentials. But how do I cater for the plugin design?<br><br>Each plugin is in a way it's own domain model (which could potentially have dependencies on other domain models for referential integrity). <br><br>Basic architecture guidelines would be great.<br><br>Thanks<br></td></tr></table><br><br><font color="#cc0033">Sorry for the delay, Francois. I ran this by Ward Bell, our VP of Product Development, who had the comments listed below. </font><br><br><a href="file:///C:%5CDOCUME%7E1%5CGreg%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml" target="_blank"><a href="file:///C:%5CDOCUME%7E1%5CGreg%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx" target="_blank"><a href="file:///C:%5CDOCUME%7E1%5CGreg%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml" target="_blank"><!--if gte mso 9> <w:Word>  <w:View>Normal</w:View>  <w:Zoom>0</w:Zoom>  <w:TrackMoves/>  <w:Trackatting/>  <w:Punctuati&#111;nKerning/>  <w:ValidateAgainstSchemas/>  <w:SaveIfInvalid>false</w:SaveIfInvalid>  <w:IgnoreMixed>false</w:IgnoreMixed>  <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>  <w:D&#111;notPromoteQF/>  <w:LidThemeOther>EN-US</w:LidThemeOther>  <w:LidThemeAsian>X-NONE</w:LidThemeAsian>  <w:LidThemeComplex>X-NONE</w:LidThemeComplex>  <w:Compatibility>   <w:BreakWrappedTables/>   <w:SnapToGridInCell/>   <w:WrapTextWithPunct/>   <w:UseAsianBreakRules/>   <w:D&#111;ntGrowAutofit/>   <w:SplitPgBreakAndark/>   <w:D&#111;ntVertAlignCellWithSp/>   <w:D&#111;ntBreakC&#111;nstrainedForcedTables/>   <w:D&#111;ntVertAlignInTxbx/>   <w:Word11KerningPairs/>   <w:CachedColBalance/>  </w:Compatibility>  <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>  <m:mathPr>   <m:mathFont m:val="Cambria Math"/>   <m:brkBin m:val="before"/>   <m:brkBinSub m:val="&amp;#45;-"/>   <m:smallFrac m:val="off"/>   <m:dispDef/>   <m:lMargin m:val="0"/>   <m:rMargin m:val="0"/>   <m:defJc m:val="centerGroup"/>   <m:wrapIndent m:val="1440"/>   <m:intLim m:val="subSup"/>   <m:naryLim m:val="undOvr"/>  </m:mathPr></w:Word><!--><!--if gte mso 9> <w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"    DefSemi="true" DefQat="false" DefPriority="99"    LatentStyleCount="267">  <w:LsdExcepti&#111;n Locked="false" Priority="0" Semi="false"     UnhideWhenUsed="false" Qat="true" Name="Normal"/>  <w:LsdExcepti&#111;n Locked="false" Priority="9" Semi="false"     UnhideWhenUsed="false" Qat="true" Name="ing 1"/>  <w:LsdExcepti&#111;n Locked="false" Priority="9" Qat="true" Name="ing 2"/>  <w:LsdExcepti&#111;n Locked="false" Priority="9" Qat="true" Name="ing 3"/>  <w:LsdExcepti&#111;n Locked="false" Priority="9" Qat="true" Name="ing 4"/>  <w:LsdExcepti&#111;n Locked="false" Priority="9" Qat="true" Name="ing 5"/>  <w:LsdExcepti&#111;n Locked="false" Priority="9" Qat="true" Name="ing 6"/>  <w:LsdExcepti&#111;n Locked="false" Priority="9" Qat="true" Name="ing 7"/>  <w:LsdExcepti&#111;n Locked="false" Priority="9" Qat="true" Name="ing 8"/>  <w:LsdExcepti&#111;n Locked="false" Priority="9" Qat="true" Name="ing 9"/>  <w:LsdExcepti&#111;n Locked="false" Priority="39" Name="toc 1"/>  <w:LsdExcepti&#111;n Locked="false" Priority="39" Name="toc 2"/>  <w:LsdExcepti&#111;n Locked="false" Priority="39" Name="toc 3"/>  <w:LsdExcepti&#111;n Locked="false" Priority="39" Name="toc 4"/>  <w:LsdExcepti&#111;n Locked="false" Priority="39" Name="toc 5"/>  <w:LsdExcepti&#111;n Locked="false" Priority="39" Name="toc 6"/>  <w:LsdExcepti&#111;n Locked="false" Priority="39" Name="toc 7"/>  <w:LsdExcepti&#111;n Locked="false" Priority="39" Name="toc 8"/>  <w:LsdExcepti&#111;n Locked="false" Priority="39" Name="toc 9"/>  <w:LsdExcepti&#111;n Locked="false" Priority="35" Qat="true" Name="capti&#111;n"/>  <w:LsdExcepti&#111;n Locked="false" Priority="10" Semi="false"     UnhideWhenUsed="false" Qat="true" Name="Title"/>  <w:LsdExcepti&#111;n Locked="false" Priority="1" Name="Default Paragraph Font"/>  <w:LsdExcepti&#111;n Locked="false" Priority="11" Semi="false"     UnhideWhenUsed="false" Qat="true" Name="Subtitle"/>  <w:LsdExcepti&#111;n Locked="false" Priority="22" Semi="false"     UnhideWhenUsed="false" Qat="true" Name="Str&#111;ng"/>  <w:LsdExcepti&#111;n Locked="false" Priority="20" Semi="false"     UnhideWhenUsed="false" Qat="true" Name="Emphasis"/>  <w:LsdExcepti&#111;n Locked="false" Priority="59" Semi="false"     UnhideWhenUsed="false" Name="Table Grid"/>  <w:LsdExcepti&#111;n Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/>  <w:LsdExcepti&#111;n Locked="false" Priority="1" Semi="false"     UnhideWhenUsed="false" Qat="true" Name="No Spacing"/>  <w:LsdExcepti&#111;n Locked="false" Priority="60" Semi="false"     UnhideWhenUsed="false" Name="Light Shading"/>  <w:LsdExcepti&#111;n Locked="false" Priority="61" Semi="false"     UnhideWhenUsed="false" Name="Light List"/>  <w:LsdExcepti&#111;n Locked="false" Priority="62" Semi="false"     UnhideWhenUsed="false" Name="Light Grid"/>  <w:LsdExcepti&#111;n Locked="false" Priority="63" Semi="false"     UnhideWhenUsed="false" Name="Medium Shading 1"/>  <w:LsdExcepti&#111;n Locked="false" Priority="64" Semi="false"     UnhideWhenUsed="false" Name="Medium Shading 2"/>  <w:LsdExcepti&#111;n Locked="false" Priority="65" Semi="false"     UnhideWhenUsed="false" Name="Medium List 1"/>  <w:LsdExcepti&#111;n Locked="false" Priority="66" Semi="false"     UnhideWhenUsed="false" Name="Medium List 2"/>  <w:LsdExcepti&#111;n Locked="false" Priority="67" Semi="false"     UnhideWhenUsed="false" Name="Medium Grid 1"/>  <w:LsdExcepti&#111;n Locked="false" Priority="68" Semi="false"     UnhideWhenUsed="false" Name="Medium Grid 2"/>  <w:LsdExcepti&#111;n Locked="false" Priority="69" Semi="false"     UnhideWhenUsed="false" Name="Medium Grid 3"/>  <w:LsdExcepti&#111;n Locked="false" Priority="70" Semi="false"     UnhideWhenUsed="false" Name="Dark List"/>  <w:LsdExcepti&#111;n Locked="false" Priority="71" Semi="false"     UnhideWhenUsed="false" Name="Colorful Shading"/>  <w:LsdExcepti&#111;n Locked="false" Priority="72" Semi="false"     UnhideWhenUsed="false" Name="Colorful List"/>  <w:LsdExcepti&#111;n Locked="false" Priority="73" Semi="false"     UnhideWhenUsed="false" Name="Colorful Grid"/>  <w:LsdExcepti&#111;n Locked="false" Priority="60" Semi="false"     UnhideWhenUsed="false" Name="Light Shading Accent 1"/>  <w:LsdExcepti&#111;n Locked="false" Priority="61" Semi="false"     UnhideWhenUsed="false" Name="Light List Accent 1"/>  <w:LsdExcepti&#111;n Locked="false" Priority="62" Semi="false"     UnhideWhenUsed="false" Name="Light Grid Accent 1"/>  <w:LsdExcepti&#111;n Locked="false" Priority="63" Semi="false"     UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/>  <w:LsdExcepti&#111;n Locked="false" Priority="64" Semi="false"     UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/>  <w:LsdExcepti&#111;n Locked="false" Priority="65" Semi="false"     UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/>  <w:LsdExcepti&#111;n Locked="false" UnhideWhenUsed="false" Name="Revisi&#111;n"/>  <w:LsdExcepti&#111;n Locked="false" Priority="34" Semi="false"     UnhideWhenUsed="false" Qat="true" Name="List Paragraph"/>  <w:LsdExcepti&#111;n Locked="false" Priority="29" Semi="false"     UnhideWhenUsed="false" Qat="true" Name="Quote"/>  <w:LsdExcepti&#111;n Locked="false" Priority="30" Semi="false"     UnhideWhenUsed="false" Qat="true" Name="Intense Quote"/>  <w:LsdExcepti&#111;n Locked="false" Priority="66" Semi="false"     UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/>  <w:LsdExcepti&#111;n Locked="false" Priority="67" Semi="false"     UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/>  <w:LsdExcepti&#111;n Locked="false" Priority="68" Semi="false"     UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/>  <w:LsdExcepti&#111;n Locked="false" Priority="69" Semi="false"     UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/>  <w:LsdExcepti&#111;n Locked="false" Priority="70" Semi="false"     UnhideWhenUsed="false" Name="Dark List Accent 1"/>  <w:LsdExcepti&#111;n Locked="false" Priority="71" Semi="false"     UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/>  <w:LsdExcepti&#111;n Locked="false" Priority="72" Semi="false"     UnhideWhenUsed="false" Name="Colorful List Accent 1"/>  <w:LsdExcepti&#111;n Locked="false" Priority="73" Semi="false"     UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/>  <w:LsdExcepti&#111;n Locked="false" Priority="60" Semi="false"     UnhideWhenUsed="false" Name="Light Shading Accent 2"/>  <w:LsdExcepti&#111;n Locked="false" Priority="61" Semi="false"     UnhideWhenUsed="false" Name="Light List Accent 2"/>  <w:LsdExcepti&#111;n Locked="false" Priority="62" Semi="false"     UnhideWhenUsed="false" Name="Light Grid Accent 2"/>  <w:LsdExcepti&#111;n Locked="false" Priority="63" Semi="false"     UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/>  <w:LsdExcepti&#111;n Locked="false" Priority="64" Semi="false"     UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/>  <w:LsdExcepti&#111;n Locked="false" Priority="65" Semi="false"     UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/>  <w:LsdExcepti&#111;n Locked="false" Priority="66" Semi="false"     UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/>  <w:LsdExcepti&#111;n Locked="false" Priority="67" Semi="false"     UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/>  <w:LsdExcepti&#111;n Locked="false" Priority="68" Semi="false"     UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/>  <w:LsdExcepti&#111;n Locked="false" Priority="69" Semi="false"     UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/>  <w:LsdExcepti&#111;n Locked="false" Priority="70" Semi="false"     UnhideWhenUsed="false" Name="Dark List Accent 2"/>  <w:LsdExcepti&#111;n Locked="false" Priority="71" Semi="false"     UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/>  <w:LsdExcepti&#111;n Locked="false" Priority="72" Semi="false"     UnhideWhenUsed="false" Name="Colorful List Accent 2"/>  <w:LsdExcepti&#111;n Locked="false" Priority="73" Semi="false"     UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/>  <w:LsdExcepti&#111;n Locked="false" Priority="60" Semi="false"     UnhideWhenUsed="false" Name="Light Shading Accent 3"/>  <w:LsdExcepti&#111;n Locked="false" Priority="61" Semi="false"     UnhideWhenUsed="false" Name="Light List Accent 3"/>  <w:LsdExcepti&#111;n Locked="false" Priority="62" Semi="false"     UnhideWhenUsed="false" Name="Light Grid Accent 3"/>  <w:LsdExcepti&#111;n Locked="false" Priority="63" Semi="false"     UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/>  <w:LsdExcepti&#111;n Locked="false" Priority="64" Semi="false"     UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/>  <w:LsdExcepti&#111;n Locked="false" Priority="65" Semi="false"     UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/>  <w:LsdExcepti&#111;n Locked="false" Priority="66" Semi="false"     UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/>  <w:LsdExcepti&#111;n Locked="false" Priority="67" Semi="false"     UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/>  <w:LsdExcepti&#111;n Locked="false" Priority="68" Semi="false"     UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/>  <w:LsdExcepti&#111;n Locked="false" Priority="69" Semi="false"     UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/>  <w:LsdExcepti&#111;n Locked="false" Priority="70" Semi="false"     UnhideWhenUsed="false" Name="Dark List Accent 3"/>  <w:LsdExcepti&#111;n Locked="false" Priority="71" Semi="false"     UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/>  <w:LsdExcepti&#111;n Locked="false" Priority="72" Semi="false"     UnhideWhenUsed="false" Name="Colorful List Accent 3"/>  <w:LsdExcepti&#111;n Locked="false" Priority="73" Semi="false"     UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/>  <w:LsdExcepti&#111;n Locked="false" Priority="60" Semi="false"     UnhideWhenUsed="false" Name="Light Shading Accent 4"/>  <w:LsdExcepti&#111;n Locked="false" Priority="61" Semi="false"     UnhideWhenUsed="false" Name="Light List Accent 4"/>  <w:LsdExcepti&#111;n Locked="false" Priority="62" Semi="false"     UnhideWhenUsed="false" Name="Light Grid Accent 4"/>  <w:LsdExcepti&#111;n Locked="false" Priority="63" Semi="false"     UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/>  <w:LsdExcepti&#111;n Locked="false" Priority="64" Semi="false"     UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/>  <w:LsdExcepti&#111;n Locked="false" Priority="65" Semi="false"     UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/>  <w:LsdExcepti&#111;n Locked="false" Priority="66" Semi="false"     UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/>  <w:LsdExcepti&#111;n Locked="false" Priority="67" Semi="false"     UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/>  <w:LsdExcepti&#111;n Locked="false" Priority="68" Semi="false"     UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/>  <w:LsdExcepti&#111;n Locked="false" Priority="69" Semi="false"     UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/>  <w:LsdExcepti&#111;n Locked="false" Priority="70" Semi="false"     UnhideWhenUsed="false" Name="Dark List Accent 4"/>  <w:LsdExcepti&#111;n Locked="false" Priority="71" Semi="false"     UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/>  <w:LsdExcepti&#111;n Locked="false" Priority="72" Semi="false"     UnhideWhenUsed="false" Name="Colorful List Accent 4"/>  <w:LsdExcepti&#111;n Locked="false" Priority="73" Semi="false"     UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/>  <w:LsdExcepti&#111;n Locked="false" Priority="60" Semi="false"     UnhideWhenUsed="false" Name="Light Shading Accent 5"/>  <w:LsdExcepti&#111;n Locked="false" Priority="61" Semi="false"     UnhideWhenUsed="false" Name="Light List Accent 5"/>  <w:LsdExcepti&#111;n Locked="false" Priority="62" Semi="false"     UnhideWhenUsed="false" Name="Light Grid Accent 5"/>  <w:LsdExcepti&#111;n Locked="false" Priority="63" Semi="false"     UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/>  <w:LsdExcepti&#111;n Locked="false" Priority="64" Semi="false"     UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/>  <w:LsdExcepti&#111;n Locked="false" Priority="65" Semi="false"     UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/>  <w:LsdExcepti&#111;n Locked="false" Priority="66" Semi="false"     UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/>  <w:LsdExcepti&#111;n Locked="false" Priority="67" Semi="false"     UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/>  <w:LsdExcepti&#111;n Locked="false" Priority="68" Semi="false"     UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/>  <w:LsdExcepti&#111;n Locked="false" Priority="69" Semi="false"     UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/>  <w:LsdExcepti&#111;n Locked="false" Priority="70" Semi="false"     UnhideWhenUsed="false" Name="Dark List Accent 5"/>  <w:LsdExcepti&#111;n Locked="false" Priority="71" Semi="false"     UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/>  <w:LsdExcepti&#111;n Locked="false" Priority="72" Semi="false"     UnhideWhenUsed="false" Name="Colorful List Accent 5"/>  <w:LsdExcepti&#111;n Locked="false" Priority="73" Semi="false"     UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/>  <w:LsdExcepti&#111;n Locked="false" Priority="60" Semi="false"     UnhideWhenUsed="false" Name="Light Shading Accent 6"/>  <w:LsdExcepti&#111;n Locked="false" Priority="61" Semi="false"     UnhideWhenUsed="false" Name="Light List Accent 6"/>  <w:LsdExcepti&#111;n Locked="false" Priority="62" Semi="false"     UnhideWhenUsed="false" Name="Light Grid Accent 6"/>  <w:LsdExcepti&#111;n Locked="false" Priority="63" Semi="false"     UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/>  <w:LsdExcepti&#111;n Locked="false" Priority="64" Semi="false"     UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/>  <w:LsdExcepti&#111;n Locked="false" Priority="65" Semi="false"     UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/>  <w:LsdExcepti&#111;n Locked="false" Priority="66" Semi="false"     UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/>  <w:LsdExcepti&#111;n Locked="false" Priority="67" Semi="false"     UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/>  <w:LsdExcepti&#111;n Locked="false" Priority="68" Semi="false"     UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/>  <w:LsdExcepti&#111;n Locked="false" Priority="69" Semi="false"     UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/>  <w:LsdExcepti&#111;n Locked="false" Priority="70" Semi="false"     UnhideWhenUsed="false" Name="Dark List Accent 6"/>  <w:LsdExcepti&#111;n Locked="false" Priority="71" Semi="false"     UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/>  <w:LsdExcepti&#111;n Locked="false" Priority="72" Semi="false"     UnhideWhenUsed="false" Name="Colorful List Accent 6"/>  <w:LsdExcepti&#111;n Locked="false" Priority="73" Semi="false"     UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/>  <w:LsdExcepti&#111;n Locked="false" Priority="19" Semi="false"     UnhideWhenUsed="false" Qat="true" Name="Subtle Emphasis"/>  <w:LsdExcepti&#111;n Locked="false" Priority="21" Semi="false"     UnhideWhenUsed="false" Qat="true" Name="Intense Emphasis"/>  <w:LsdExcepti&#111;n Locked="false" Priority="31" Semi="false"     UnhideWhenUsed="false" Qat="true" Name="Subtle Reference"/>  <w:LsdExcepti&#111;n Locked="false" Priority="32" Semi="false"     UnhideWhenUsed="false" Qat="true" Name="Intense Reference"/>  <w:LsdExcepti&#111;n Locked="false" Priority="33" Semi="false"     UnhideWhenUsed="false" Qat="true" Name="Book Title"/>  <w:LsdExcepti&#111;n Locked="false" Priority="37" Name="Bibliography"/>  <w:LsdExcepti&#111;n Locked="false" Priority="39" Qat="true" Name="TOC ing"/> </w:LatentStyles><!--><!--    Font Definiti&#111;ns    @font-face   font-family:"Cambria Math";   panose-1:2 4 5 3 5 4 6 3 2 4;   mso-font-:1;   mso-generic-font-family:roman;   mso-font-at:other;   mso-font-pitch:variable;   mso-font-signature:0 0 0 0 0 0;  @font-face   font-family:Calibri;   panose-1:2 15 5 2 2 2 4 3 2 4;   mso-font-:0;   mso-generic-font-family:swiss;   mso-font-pitch:variable;   mso-font-signature:-1610611985 1073750139 0 0 159 0;    Style Definiti&#111;ns    p.Ms&#111;normal, li.Ms&#111;normal, div.Ms&#111;normal   mso-style-unhide:no;   mso-style-qat:yes;   mso-style-parent:"";   margin:0in;   margin-bottom:.0001pt;   mso-paginati&#111;n:widow-orphan;   font-size:12.0pt;   font-family:"Times New Roman","serif";   mso-fareast-font-family:Calibri;   mso-fareast-theme-font:minor-latin;  .MsoChpDefault   mso-style-:ex-&#111;nly;   mso-default-props:yes;   font-size:10.0pt;   mso-ansi-font-size:10.0pt;   mso-bidi-font-size:10.0pt;  @page Secti&#111;n1   size:8.5in 11.0in;   margin:1.0in 1.0in 1.0in 1.0in;   mso-er-margin:.5in;   mso-footer-margin:.5in;   mso-paper-source:0;  div.Secti&#111;n1   page:Secti&#111;n1;  --><!--if gte mso 10> /* Style Definitions */ table.MsoNormalTable	{mso-style-name:"Table Normal";	mso-tstyle-rowband-size:0;	mso-tstyle-colband-size:0;	mso-style-noshow:yes;	mso-style-priority:99;	mso-style-qformat:yes;	mso-style-parent:"";	mso-padding-alt:0in 5.4pt 0in 5.4pt;	mso-para-margin:0in;	mso-para-margin-bottom:.0001pt;	mso-pagination:widow-orphan;	font-size:11.0pt;	font-family:"Calibri","sans-serif";	mso-ascii-font-family:Calibri;	mso-ascii-theme-font:minor-latin;	mso-fareast-font-family:"Times New Roman";	mso-fareast-theme-font:minor-fareast;	mso-hansi-font-family:Calibri;	mso-hansi-theme-font:minor-latin;	mso-bidi-font-family:"Times New Roman";	mso-bidi-theme-font:minor-bidi;}<!--><p ="Ms&#111;normal"><span style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb31, 73, 125;">It’s a sensible question but I don’t know enough about theplug-in authentication to suggest wisely.<o:p></o:p></span></p><p ="Ms&#111;normal"><span style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb31, 73, 125;"><o:p>&nbsp;</o:p></span></p><p ="Ms&#111;normal"><span style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb31, 73, 125;">Typically, I would do as he suggested for the opening gambit …login an EntityManager at the start. No unusual complexity there.<o:p></o:p></span></p><p ="Ms&#111;normal"><span style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb31, 73, 125;"><o:p>&nbsp;</o:p></span></p><p ="Ms&#111;normal"><span style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb31, 73, 125;">Then I would put an AuthenticationService andAuthorizationService in my IoC container. Subsequent plugins are serviced fromthese services.<o:p></o:p></span></p><p ="Ms&#111;normal"><span style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb31, 73, 125;"><o:p>&nbsp;</o:p></span></p><p ="Ms&#111;normal"><span style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb31, 73, 125;">I’m imagining that the plug-ins have their own domain modelsand, therefore, their own EntityManager instances. The question might be, “howdo I login these Ems without actually going back to the user again forcredentials?”<o:p></o:p></span></p><p ="Ms&#111;normal"><span style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb31, 73, 125;"><o:p>&nbsp;</o:p></span></p><p ="Ms&#111;normal"><span style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb31, 73, 125;">If this actually IS the question, the solution is easy. Theplug-in can ask the AuthenticationService to “new” it’s own specializedEntityManager based on the originally logged in EM that is retained/referencedby the AuthenticationService.<o:p></o:p></span></p><p ="Ms&#111;normal"><span style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb31, 73, 125;"><o:p>&nbsp;</o:p></span></p><p ="Ms&#111;normal"><span style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb31, 73, 125;">I imagine a method such as<o:p></o:p></span></p><p ="Ms&#111;normal"><span style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb31, 73, 125;"><o:p>&nbsp;</o:p></span></p><p ="Ms&#111;normal"><span style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb31, 73, 125;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Service.CreateEntityManager&lt;T&gt;() where T : EntityManager,new()<o:p></o:p></span></p><p ="Ms&#111;normal"><span style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb31, 73, 125;"><o:p>&nbsp;</o:p></span></p><p ="Ms&#111;normal"><span style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb31, 73, 125;">The implementation is a one-liner sort of like:<o:p></o:p></span></p><p ="Ms&#111;normal"><span style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb31, 73, 125;"><o:p>&nbsp;</o:p></span></p><p ="Ms&#111;normal"><span style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb31, 73, 125;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return new T(HomeEntityManager); </span><span style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb118, 146, 60;">// HomeEntityManager providesaccess to the originally logged in EM</span><span style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb31, 73, 125;"><o:p></o:p></span></p><p ="Ms&#111;normal"><span style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb31, 73, 125;"><o:p>&nbsp;</o:p></span></p><p ="Ms&#111;normal"><span style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb31, 73, 125;">I don’t think I dare go further without more information aboutwhat seems to be the problem and desired outcome.<o:p></o:p></span></p><p ="Ms&#111;normal"><span style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb31, 73, 125;"><o:p>&nbsp;</o:p></span></p><p ="Ms&#111;normal"><span style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb31, 73, 125;"><br></span></p><p ="Ms&#111;normal"><span style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb31, 73, 125;">Perhaps Francois would like to contact us directly.&nbsp;&nbsp;&nbsp;&nbsp; <b>&#091;which you can do through </b></span><span style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb31, 73, 125;"><b><i>support@ideablade.com</i>&#093;</b><o:p></o:p></span></p><br>]]>
   </description>
   <pubDate>Wed, 18 Feb 2009 13:28:17 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=1093&amp;PID=3924#3924</guid>
  </item> 
  <item>
   <title>Best Practices with EntityManager : Any ideas? </title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=1093&amp;PID=3918#3918</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.ideablade.com/forum/member_profile.asp?PF=448" rel="nofollow">francois</a><br /><strong>Subject:</strong> 1093<br /><strong>Posted:</strong> 16-Feb-2009 at 10:43am<br /><br /><P>Any ideas?</P>]]>
   </description>
   <pubDate>Mon, 16 Feb 2009 10:43:47 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=1093&amp;PID=3918#3918</guid>
  </item> 
  <item>
   <title>Best Practices with EntityManager : Hi,  I&amp;#039;m busy evaluating...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=1093&amp;PID=3913#3913</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.ideablade.com/forum/member_profile.asp?PF=448" rel="nofollow">francois</a><br /><strong>Subject:</strong> 1093<br /><strong>Posted:</strong> 12-Feb-2009 at 11:40pm<br /><br />Hi,<br /><br />I'm busy evaluating DevForceEF to replace an existing in-house developed framework. Currently we have a client - server information system that is developed in a modular pattern. The client shell provides authentication / authorization services and a desktop. The client also currently support windows authentication and forms authentication.<br /><br />The client have a plugin probe directory. If a plugin is found, it is loaded with dependency assemblies and the plugin injects the menus, views etc into the Desktop (very similar to CAB). These plugins can be mixed and matched as required. Each plugin assumes an already authenticated session provided by the client. Plugins can also extend other entities like CAB.<br /><br />Implementing this with DevForceEF seems to be a bit more complex as I thought. The authentication / authorization of the client can be achieved by creating a very simple domain model and to use the login with custom login credentials. But how do I cater for the plugin design?<br /><br />Each plugin is in a way it's own domain model (which could potentially have dependencies on other domain models for referential integrity). <br /><br />Basic architecture guidelines would be great.<br /><br />Thanks<br /><br /><br /><br /><br /><br />]]>
   </description>
   <pubDate>Thu, 12 Feb 2009 23:40:14 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=1093&amp;PID=3913#3913</guid>
  </item> 
 </channel>
</rss>