Note that there are some explanatory texts on larger screens.

plurals
  1. POLINQ to SQL architecture. What is best?
    primarykey
    data
    text
    <p>This question is sort of a pool. We are trying to identify the best archtecture while using a ORM like LINQ to SQL. The archture we are defining is for sort of framework that other applications will access either trough directly referencing the DLL or through a webservice. We have .NET apps and PHP apps.</p> <p>The possibilities are:</p> <p>Multiple data contexts: Separting the database into units of work and create separate contexts for each one.</p> <p>Pros:</p> <ul> <li>Easy of use</li> <li>Classes will be broken into different namespaces</li> <li>Smaller domain to maintain</li> </ul> <p>Cons:</p> <ul> <li>Objects have to be duplicated if related, creating maintenance hell</li> <li>Objects cannot be passed between context, creating the need for another hit on the data base</li> </ul> <p>Single data context: All tables, views, procedures, reside in the same huge context.</p> <p>Pros:</p> <ul> <li>No duplication</li> <li>Relationships are easy to manage, basicaly the LINQ takes care of it.</li> <li>Better performance, less hits on the DB.</li> </ul> <p>Cons:</p> <ul> <li>All tables are in the same namespace, code completion becomes nuts</li> <li>Not the best for the designer (at least on VS2008)</li> <li>Cannot be selective in what to save and what not. Save all, or delete all mode.</li> </ul> <p>Well this are things that came up to my mind, so if have any other pros or cons, please tell me and I will include them in the post. Also pick your best one.</p> <p>Thanks all</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload