我有一個關於的問題WCF DataService和實體框架4.1(代碼優先)。 所以我有Web服務器上的DataService:WCF數據服務和實體框架代理對象
[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(如公司,地址,人員等) 添加此服務爲我的客戶端應用程序之後(到服務命名空間例如)我有相同的實體對象,但在服務命名空間。當然,我想通過數據服務獲取任何公司對象(例如),它會從命名空間服務返回一組實體對象。
所以我的問題是如何告訴數據服務使用我的真實實體對象,而不是在我的項目中創建這些其他代理對象? 如果無法做到,那我該如何將從數據服務獲得的對象複製到我的真實實體中?
我的目標是通過使用數據上下文的數據服務從服務器獲取一些實體對象,而不是在客戶端使用它們。我想爲本地和服務器端的所有實體對象使用一個程序集。
Pratik,非常感謝你!我用你的解決方案解決了這個問題。 – DolceVita 2011-06-07 19:44:59