У меня есть приложение, которое я написал для просмотра журналов из пользовательских приложений, написанных для этой компании.Я настроил его, используя Entity Model, и хотел бы динамически изменить, какую базу данных я бью (тестовую или производственную базу данных), основываясь на выборе меню.Я попытался использовать EntityConnectionStringBuilder, и он, кажется, работает без ошибок, однако я не могу получить сетку, которая отображает список приложений для обновления после изменения строки подключения к данным.(строки подключения для тестового и производственного серверов хранятся в properties.settings) Вот что я имею для переключения на тестовый сервер
try
{
XDocument doc = XDocument.Load(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile);
var query1 = from p in doc.Descendants("connectionStrings").Descendants()
select p;
foreach (var child in query1)
{
foreach (var atr in child.Attributes())
{
if (atr.Name.LocalName == "name" && atr.Value == "AppsEntities")
if (atr.NextAttribute != null && atr.NextAttribute.Name == "connectionString")
{
EntityConnectionStringBuilder entityBuilder = new EntityConnectionStringBuilder(atr.NextAttribute.Value);
entityBuilder.ProviderConnectionString = Properties.Settings.Default["TestServer"].ToString();
atr.NextAttribute.Value = entityBuilder.ToString();
}
}
}
doc.Save(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile);
lblDatabase.Content = "Connected to the Test Server";
}
catch (Exception ex)
{
MessageBox.Show("changing connection string to Test - blew up!" + ex.Message, "massive error", MessageBoxButton.OK, MessageBoxImage.Exclamation);
}
Любая помощь будет принята. Я новичок в C # и WPF, поэтомуВозможно, я не пойду об этом правильным путем.
<telerik:RadGridView x:Name="LogApplicationGrid"
Width="900"
Height="Auto"
Margin="2,53,0,0"
HorizontalAlignment="Left"
VerticalAlignment="Top"
AutoGenerateColumns="false"
GridLinesVisibility="Horizontal"
IsReadOnly="true"
MouseDoubleClick="LogApplicationGrid_MouseDoubleClick"
ShowGroupPanel="False">
<telerik:RadGridView.Columns>
<telerik:GridViewDataColumn MaxWidth="50"
DataMemberBinding="{Binding AppID}"
Header="AppID"
IsFilterable="False"
UniqueName="appNumber" />
<telerik:GridViewDataColumn MaxWidth="300"
DataMemberBinding="{Binding AppName}"
Header="Application Name" />
<telerik:GridViewDataColumn MaxWidth="350"
DataMemberBinding="{Binding AppDesc}"
Header="Application Description" />
<telerik:GridViewDataColumn MaxWidth="150"
DataMemberBinding="{Binding DateCreated}"
Header="Date Created"
IsFilterable="False" />
<telerik:GridViewCheckBoxColumn MaxWidth="100"
DataMemberBinding="{Binding ShowInSharePoint}"
Header="SharePoint"
IsFilterable="False" />
</telerik:RadGridView.Columns>
</telerik:RadGridView>