Я хочу иметь сервис IDataService, который затем можно заменить другим сервисом для насмешек или использования для данных времени проектирования.Это хороший подход или я просто создаю проблемы для себя.
public interface INorthwindContext
{
public IDomainContext Context;
}
Я пытался использовать частичный класс в своем проекте Silverlight для реализации интерфейса, подобного так:
public partial class NorthwindContext : INorthwindContext
{
}
Теперь я могу создать DataService или TestDataService и т. Д., Например:
public class DataService : IDataService
{
public INorthwindContext Context { get; set; }
}
Мой INorthwindContext:
РЕДАКТИРОВАТЬ: если я не добавлю все методы из DomaincContext в этот интерфейс, я идупотерять нужную функциональность, чтобы получить данные.Мне также придется вручную обновлять интерфейс каждый раз, когда я добавляю новые объекты в сервис.
public interface INorthwindContext
{
EntitySet<Category> Categories { get; }
EntityQuery<Category> GetCategoriesQuery();
EntityQuery<Product> GetProductsQuery();
EntityQuery<Region> GetRegionsQuery();
EntityQuery<Shipper> GetShippersQuery();
EntityQuery<Supplier> GetSuppliersQuery();
EntityQuery<Territory> GetTerritoriesQuery();
EntitySet<Product> Products { get; }
EntitySet<Region> Regions { get; }
EntitySet<Shipper> Shippers { get; }
EntitySet<Supplier> Suppliers { get; }
EntitySet<Territory> Territories { get; }
}
Это было очень полезно и http://www.nikhilk.net/NET-RIA-Services-ViewModel-Pattern-2.aspx