Instead of casting to objects and consuming, you should really create a wrapper class which defines the standard contract that can be returned from your data access layer.
Example:
1: using System;
2: using System.Collections.Generic;
3: using System.Text;
4: using System.Linq;
5: using System.Configuration;
6: using LendLease.InvestmentManagement.AssetMaintenance.Entities;
7:
8: namespace LendLease.InvestmentManagement.AssetMaintenance.Services
9: {
10: public class CityName
11: {
12: public string DisplayValue {get; set;}
13: }
14: class AddressService : IAddressService
15: {
16:
17: static AddressService()
18: {
19: }
20:
21: public IList<CityName> GetAllCities()
22: {
23: InvestmentManagementDbDataContext context =
24: new InvestmentManagementDbDataContext();
25:
26: var query = (from ps in context.Addresses
27: select new CityName { DisplayValue = ps.City }).Distinct();
28: return query.ToList();
29: }
30: }
31: }
For more info, see http://weblogs.asp.net/scottgu/archive/2007/05/15/new-orcas-language-feature-anonymous-types.aspx?CommentPosted=true
and http://blogs.msdn.com/miah/archive/2007/09/07/outsmarting-the-limitations-of-anonymous-types.aspx for some more comments on this.
No comments:
Post a Comment