是否可以动态更改EF连接的服务器名称?
我在5台服务器上拥有相同的数据库(不同的环境,Dev,Test,UAT ......),并希望编写一个仪表板应用程序,通过从DDL中选择环境,依次从每个服务器中提取相同的信息
我正在使用Entity Framework 4 / WPF / C#。新的ObservableCollection(context.EntitySet)绑定到XAML中的WPF DataGrid。这很好用。 xaml网格绑定如下
<grid:RadGridView ItemsSource="{Binding EPolicies}" IsReadOnly="True" RowDetailsVisibilityMode="VisibleWhenSelected" RowIndicatorVisibility="Collapsed" AutoGenerateColumns="False">
在视图模型中我调用以下代码
entities = new EpolicyEntities(environmentConnStr);
customTexts = new ObservableCollection<C_CustomTextType>(from i in entities.C_CustomTextType select i);
languages = new ObservableCollection<C_Language>(from i in entities.C_Language select i);
userTypes = new ObservableCollection<C_UserType>(from i in entities.C_UserType select i);
EPolicies = new ObservableCollection<EPolicy>(from e in entities.EPolicies select e);
entities是表示我连接到
的数据库的ObjectContext第一次它工作正常,但第二次甚至thoguh我可以看到EPolicies对象中的新值,网格没有被刷新,因为我想要 EPolicies是如下定义的属性 public ObservableCollection EPolicies { 得到{return ePolicies; } 组 { ePolicies = value; OnPropertyChanged(()=&gt; EPolicies); } } 有人可以帮帮我吗? 感谢
有人这样做过吗?
答案 0 :(得分:2)
好的,我发现了。
问题是该属性
public ObservableCollection EPolicies {
get { return ePolicies; }
set {
ePolicies = value; OnPropertyChanged(() => EPolicies);
}
}
正在调用OnpropertyChanged
,而不是Base.OnPropertyChanged
。
不确定为什么它的工作方式可能是事件没有被冒泡。
有人有答案吗?