Click here to Skip to main content
15,920,110 members
Home / Discussions / Design and Architecture
   

Design and Architecture

 
GeneralRe: Documenting Design Pin
Karthik Jegadeesan19-Jan-09 21:44
professionalKarthik Jegadeesan19-Jan-09 21:44 
GeneralRe: Documenting Design Pin
K. Shaffer22-Jan-09 12:50
K. Shaffer22-Jan-09 12:50 
GeneralRe: Documenting Design Pin
K. Shaffer22-Jan-09 13:00
K. Shaffer22-Jan-09 13:00 
QuestionDatabase Queries Pin
CodingYoshi6-Jan-09 17:20
CodingYoshi6-Jan-09 17:20 
AnswerRe: Database Queries Pin
Wendelius7-Jan-09 2:29
mentorWendelius7-Jan-09 2:29 
GeneralRe: Database Queries Pin
CodingYoshi7-Jan-09 8:49
CodingYoshi7-Jan-09 8:49 
GeneralRe: Database Queries Pin
Wendelius7-Jan-09 9:16
mentorWendelius7-Jan-09 9:16 
GeneralRe: Database Queries Pin
Jon Rista7-Jan-09 12:20
Jon Rista7-Jan-09 12:20 
Given the fact that you have a variety of usage scenarios to fill, I can't stress enough the benefits that and O/RM (Object Relational Mapper) can offer you. Building strict API's in a database with Stored Procs is a very, very maintenance heavy way to go (in most situations, but particularly so when you have a broad set of usage scenarios). I highly recommend that, even if you end up choosing not to use an O/RM, that you check out LINQ to SQL. Its simple, very lightweight, very fast (L2S queries have caused devs and dba's surprise when they find out that their 'highly optimized' query actually performs worse, sometimes much worse, than a corresponding L2S query), and offers a degree of flexability that you could find extremely useful for your needs.

Some of the benefits you can hope to gain by using an O/RM:

1) Eliminate an entire layer and API from your application. No more stored procs that need to be written or maintained, or which have to be adhered to once they are in place due to frustrating regulations regarding the database.
2) Be able to query a conceptual model directly for your entities or collections of entities.
3) Have the option to define "fetching strategies" that allow you to fetch a root entity (or collection of roots), as well as related child entities and entity collections, with a single, efficient query to the database.
4) Be able to adapt quickly to changing business requirements without having to expend a significant amount of time refactoring a (possibly extensive) SP API. Even better, don't worry about not being able to adapt to changing business requirements because of rules regarding database changes.
5) In the case of LINQ to SQL, you can even perform ad-hoc queries against your conceptual model, and materialize custom or anonymous types that provide just the data you need, retrieved with the most optimal query. This again can be gained without the need to write and manage any SPs. This would solve the problem you have, where many applications only need fragments of information from entities, and you don't want to incurr the cost of retrieving a whole entity when its not needed. L2S offers exactly what you need to allow all 10 of your applications to retrieve what they need, when they need it, efficiently, from a conceptual entity model...without ever having to worry about writing or managing stored procs.

If you want more information about the benefits of O/R mapping, feel free to drop me a line. I don't know your DBA situation...if you have them, your probably in for a fight to have the right to use an O/RM (they generate parameterized dynamic SQL). SQL Server 2005 and 2008 offer a lot for applying query plan and performance tuning side-band, so don't let your DBA's tell you off-hand that there is no way to manage or optimize dynamic SQL if your using SQL Server (tell them to look up Plan Guides).
GeneralRe: Database Queries Pin
Wendelius8-Jan-09 2:47
mentorWendelius8-Jan-09 2:47 
GeneralRe: Database Queries [modified] Pin
Jon Rista8-Jan-09 4:55
Jon Rista8-Jan-09 4:55 
GeneralRe: Database Queries Pin
Wendelius8-Jan-09 5:25
mentorWendelius8-Jan-09 5:25 
GeneralRe: Database Queries Pin
Jon Rista8-Jan-09 10:56
Jon Rista8-Jan-09 10:56 
GeneralRe: Database Queries Pin
Mark Churchill7-Jan-09 13:53
Mark Churchill7-Jan-09 13:53 
QuestionSoftware development Pin
systemexpertise1-Jan-09 18:26
systemexpertise1-Jan-09 18:26 
AnswerRe: Software development Pin
Cosmic Egg10-Jan-09 3:29
Cosmic Egg10-Jan-09 3:29 
QuestionStylesheet in VS2008 Pin
sarang_k30-Dec-08 19:01
sarang_k30-Dec-08 19:01 
AnswerRe: Stylesheet in VS2008 Pin
CodingYoshi4-Jan-09 15:45
CodingYoshi4-Jan-09 15:45 
QuestionException Hierarchy Pin
CodingYoshi29-Dec-08 11:27
CodingYoshi29-Dec-08 11:27 
GeneralRe: Exception Hierarchy Pin
Luc Pattyn29-Dec-08 15:12
sitebuilderLuc Pattyn29-Dec-08 15:12 
GeneralRe: Exception Hierarchy Pin
CodingYoshi30-Dec-08 3:18
CodingYoshi30-Dec-08 3:18 
AnswerRe: Exception Hierarchy Pin
Jon Rista6-Jan-09 8:48
Jon Rista6-Jan-09 8:48 
GeneralRe: Exception Hierarchy Pin
Leftyfarrell6-Jan-09 13:29
Leftyfarrell6-Jan-09 13:29 
GeneralRe: Exception Hierarchy Pin
Jon Rista6-Jan-09 17:31
Jon Rista6-Jan-09 17:31 
GeneralRe: Exception Hierarchy Pin
Curtis Schlak.25-Feb-09 9:02
Curtis Schlak.25-Feb-09 9:02 
AnswerRe: Exception Hierarchy Pin
Curtis Schlak.25-Feb-09 9:20
Curtis Schlak.25-Feb-09 9:20 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.