WCF DataServiceとEntity Framework 4.1 (code-first)について質問があります。だから私はWebサーバーに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 で使用されるエンティティ オブジェクト (Company、Address、Person など) のリストもあります。このサービスをクライアント アプリケーション (サービス名前空間など) に追加した後、同じエンティティ オブジェクトを Services 名前空間に取得しました。そしてもちろん、Data Service を介して Company オブジェクト (たとえば) を取得すると、名前空間Servicesから一連のエンティティ オブジェクトが返されます。
私の質問は、データ サービスに実際のエンティティ オブジェクトを使用し、プロジェクトでこれらの他のプロキシ オブジェクトを作成しないように指示するにはどうすればよいかということです。それができない場合、データ サービスから取得したオブジェクトを実際のエンティティにコピーするにはどうすればよいですか?
私の目標は、データ コンテキストを使用してデータ サービスを介してサーバーからいくつかのエンティティ オブジェクトを取得し、それらをクライアント側で同じにすることです。ローカル側とサーバー側の両方で、すべてのエンティティ オブジェクトに対して 1 つのアセンブリを使用したいと考えています。