> > > I'm just messign about with linq at the moment. > > > > I was wondering if there is a standard way to map between linq > structures. > > > > i.e. I have a normalised database schema created in the designer, I > don't > > want to bind to this directly but obviously to some slightly > denormalisied > > version of it. > > I don't see the 'obvious' part in that remark. For FETCHING, it > might > be handy to have denormalized data in some areas, but for saving entities, > you > definitely want to stick to the abstract entity definitions in your > program's > reality, not some denormalized pile of tables.
UI usually operate on schema's that are derived and denormalised...though I accept that in MS world this is less true. > > The abstract definition of, say, 'Customer', is fixed. You > therefore > want to work with such an entity in your code, as otherwise referring to > 'Customer' inside your code is meaningless: it doesn't mean anything, as > the > abstract definition of 'Customer' is something else in that case. A class > and > a table are physical representations of that same abstract definition, > hence > it's possible to create a mapping at all. > > Denormalization for performance purposes therefore isn't useful > for > entities. It's only useful for new sets, derived from the entity > instances, > e.g. all orderid's with the customer's companyname joined to it. Generally front end show all sorts of data that is derived or denormalised from the underlying data, a simple grid map contain several joins, sometimes it makes sense to display those joins in separate grids, often not. > > > I can create a denormalised version in the linq sql > > designer, and not bind it to a database, but it is inherently based on > > DataContext, which appears to be the SQL 'driver'. > > Denormalized data has no real advantage unless it's stored > denormalized. Otherwise you're joining the crap out of your db at runtime > ;). performance is not really an issue here. > So take a look at indexed views. These are stored as-is and therefore do > offer > performance optimizations. You then should be able to map an entity onto > such > a view. Just for fetching of course, Saving data should be done with > normal > entities. > Ok I'll take a look, but I'm not really interested in performance...I simple want to map a normalised collection of Linq data Customer & orders & location....to a denormalised/derived one (Customer extended to include derived orders and location) & orders...... CONFIDENTIALITY NOTICE This e-mail (and any attached files) is confidential and protected by copyright (and other intellectual property rights). If you are not the intended recipient please e-mail the sender and then delete the email and any attached files immediately. Any further use or dissemination is prohibited. While MTV Networks Europe has taken steps to ensure that this email and any attachments are virus free, it is your responsibility to ensure that this message and any attachments are virus free and do not affect your systems / data. Communicating by email is not 100% secure and carries risks such as delay, data corruption, non-delivery, wrongful interception and unauthorised amendment. If you communicate with us by e-mail, you acknowledge and assume these risks, and you agree to take appropriate measures to minimise these risks when e-mailing us. MTV Networks International, MTV Networks UK & Ireland, Greenhouse, Nickelodeon Viacom Consumer Products, VBSi, Viacom Brand Solutions International and Comedy Central are all trading names of MTV Networks Europe. MTV Networks Europe is a partnership between MTV Networks Europe Inc. and Viacom Networks Europe Inc. Address for service in Great Britain is UK House, 180 Oxford Street, London W1D 1DS, UK. =================================== This list is hosted by DevelopMentor® http://www.develop.com View archives and manage your subscription(s) at http://discuss.develop.com