2009-03-26 12 views
5

Benim yapılandırma dosyalarımda uygulamanın eski bir parçası (Datasets kullanarak) ve Entity Framework için başka bir dizge tarafından kullanılan bir bağlantı dizim var:Varlık Çerçeve bağlantı dizeleri varolan bir bağlantı dizesini yeniden kullanabilir mi?

<connectionStrings> 
    <add name="Database" connectionString="Server=..." /> 
    <add name="Entities" connectionString="metadata=.....connection string='Server=..." /> 
</connectionStrings> 

Bu, sunucu adı, veritabanı adı vb. EF bağlantı dizesinin ilk dizgeyi yeniden kullanmasını söylemek isterim - bu mümkün mü?

cevap

1

Yapılandırma dosyasında birinden diğerine başvurmaya çalışmak yerine uygulamayı tek bir bağlantı dizesi kullanmaya yeniden düzenlemenin daha iyi bir yaklaşım olacağını düşünüyorum.

+1

Sorun, bağlantı dizelerinin farklı olması gerektiğidir - Entity Framework bir biçimi gerektirirken DataSets diğerini tanımaz. –

+0

Yani, var olanı kullanarak varlık bağlantı dizesini manuel olarak oluşturmak için kurucuyu çağırabilirim ... –

+0

Ah - Ne demek istediğimi anlıyorum. –

16

Bu yazı biraz eski biliyorum ama bu birilerinin yardımcı olacaktır anlamaya:

Var olan bağlantı dizesinden EF bağlantısını kurmak EntityConnectionStringBuilder kullanabilirsiniz. Eğer EF sağlayıcı örneğini zaman

public static string GetEntityFrameworkConnectionString(string clientConnectionString) 
{ 
    EntityConnectionStringBuilder entityBuilder = new EntityConnectionStringBuilder(); 
    entityBuilder.Provider = "System.Data.SqlClient"; 
    entityBuilder.ProviderConnectionString = clientConnectionString; 
    entityBuilder.Metadata = "res://*/Entities.UBTEntities.csdl|res://*/Entities.UBTEntities.ssdl|res://*/Entities.UBTEntities.msl"; 
    return entityBuilder.ToString(); 
} 

Yani, sadece yapıcı içine yukarıdaki yöntemle döndürülen dizede geçmesi: Bu benim kendi kodunda kullanıyorum bir örnektir.

Bu yardımcı olur umarım.

İlgili konular