私は、この会社用に作成されたカスタムアプリケーションからログを表示するように書いたアプリケーションを持っています。私は、Entity Modelを使ってセットアップし、メニュー選択に基づいて、どのデータベース(テストデータベースまたは本番データベース)を動的に変更したいのですか? EntityConnectionStringBuilderを使用しようとしましたが、エラーなしで動作するようですが、データ接続文字列を変更した後に更新するアプリケーションの一覧を表示するグリッドを取得できません。 (テストと本番サーバー用の接続文字列がproperties.settingsに格納されている)ここで私がテストサーバーへの切り替えのために持っているものであるWPFを更新するページ
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);
}
すべてのヘルプは、私はWPFのように私はかもしれC#に新しいですし、高く評価されるだろう
これについて正しいことをしてはいけません。
<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>
WTHコードが... –
をフォーマットします接続が実際に切り替わることを確認した場合、これはデータバインディングの問題のように聞こえるので、彼は関連するXAMLとXAMLのための 'DataContext'です。 –
私はそれが動作するようだ - ビジュアルスタジオdebogモードでは、エラーをキャッチしませんが、私はこれに慣れない領域にあります - App.configファイルは、それが役立つ場合は決して変更するようです。私はそれぞれの接続文字列を別々にアプリケーションを実行しているので、それぞれが動作するので、上記のコードまたはバインディングのいずれかであることに同意します。 – BradG