我正在使用实体框架来调用我的存储过程.我正在使用函数导入向导来创建函数导入和复杂类型.
我遇到的问题是我想找到一种方法来轻松刷新我的所有复杂类型.
当今天存储过程更改时,我的过程是:
1.)使用EF更新向导刷新存储过程.
2.)转到模型浏览器中的每个功能导入,然后单击编辑.
3.)单击按钮以更新复杂类型.
4.)对我的所有100多个函数导入手动重复此过程.
这个更新过程在这里得到了很好的解释:http: //blogs.msdn.com/b/nihitk/archive/2010/04/23/ado-net-entity-designer-in-vs-2010-stored-procedure-return型形状-sensing.aspx
有谁知道如何通过命令行或通过某种宏自动化.我不需要将其作为构建过程的一部分.
我已经在StackOverflow上看到了如何正确删除WPF中的控件的问题.通常会有一些注释如何手动(或不能)处理它们,只要您没有引用它们,它们最终将被GC清除.我意外地注意到我认为我删除的一个控件是粘在一起并且仍在工作,即使我从它的父项中删除它.
我在尽可能少的行中重新创建了这个例子.该控件具有DispatcherTimer.这是我要删除的控件背后的WPF代码.
public partial class MyControl : UserControl
{
private DispatcherTimer timer;
public MyControl()
{
InitializeComponent();
timer = new DispatcherTimer();
timer.Tick += TimerOnTick;
timer.Interval = TimeSpan.FromSeconds(1);
timer.Start();
}
private void TimerOnTick(object sender, EventArgs args)
{
//this continues to get written out even after this control is removed.
System.Diagnostics.Debug.WriteLine("Tick From MyControl.");
}
}
Run Code Online (Sandbox Code Playgroud)
这是添加和删除我的控件的窗口背后的代码.
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void AddClicked(object sender, RoutedEventArgs e)
{
anyControlHolder.Children.Add(new MyControl());
}
private void RemoveClicked(object sender, RoutedEventArgs …Run Code Online (Sandbox Code Playgroud)