У меня вопрос относительно WCF DataService и Entity Framework 4.1 (сначала код). Итак, у меня есть DataService на веб-сервере:
[ServiceBehavior(IncludeExceptionDetailInFaults = true)]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class CrmDataService : DataService<CrmDataContext>
{
private static CrmDataContext _mdc;
public static void InitializeService(DataServiceConfiguration config)
{
config.SetEntitySetAccessRule("*", EntitySetRights.All);
config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V2;
config.UseVerboseErrors = true;
}
protected override CrmDataContext CreateDataSource()
{
_mdc = new CrmDataContext(@"Data Source=localhost;Database=MyDb;User Id=sqluser;Password=111111;") { TablePrefix = "crm_" };
_mdc.Configuration.ProxyCreationEnabled = false;
return _mdc;
}
У меня также есть список объектов сущности, используемых моим CrmDataContext (таких как Компания, Адрес, Человек и т. Д.). После добавления этой службы в мое клиентское приложение (например, в пространство имен Services) я получил те же объекты сущности, но в Службах пространство имен. И, конечно, затем я хочу получить любой объект компании (например) через службу данных, он возвращает мне набор объектов сущности из пространства имен Службы.
Итак, мой вопрос: как я могу сказать службе данных использовать мои реальные объекты сущностей и не создавать эти другие прокси-объекты в моем проекте? Если это невозможно, то как я могу скопировать объекты, которые я получаю из службы данных, в мои реальные объекты?
Моя цель - получить некоторые объекты сущностей с сервера через службу данных с использованием контекста данных, а затем использовать их на стороне клиента. Я хочу использовать одну сборку для всех объектов сущностей как на локальной, так и на серверной стороне.