我试图在一个新项目中运行命令'Enable-Migrations',我收到了消息:
PM> Enable-Migrations
The term 'Enable-Migrations' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verif
y that the path is correct and try again.
At line:1 char:18
+ Enable-Migrations <<<<
+ CategoryInfo : ObjectNotFound: (Enable-Migrations:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
Run Code Online (Sandbox Code Playgroud)
但是在所有其他项目中,命令运行得很好.
为什么会这样?
顺便说一下,我正在使用VS2010 Professional SP1
编辑:我重新安装了命令:Install-Package EntityFramework -IncludePrerelease ,问题消失了.
我有一个Combobox,其ItemsSource是一个ObservableCollection的int值.我的组合框项目模板包含一个图像和一个文本块,其内容由2个转换器给出.
如何设置这2个绑定?以下代码无法编译:
<ComboBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<Image Source="{Binding, Converter={StaticResource IntToImageConverter}}" Stretch="None" />
<TextBlock Text="{Binding, Converter={StaticResource IntToStringConverter}}" />
</StackPanel>
</DataTemplate>
</ComboBox.ItemTemplate>
Run Code Online (Sandbox Code Playgroud) 令我惊讶的是,使用CreateDatabaseIfNotExists上下文初始化程序,该行
context.Database.Initialize(true)
Run Code Online (Sandbox Code Playgroud)
如果架构与我的代码第一个架构不匹配,则不会抛出异常.
有没有办法验证当前数据库是否与我们的模式匹配,例如,我们尝试访问一个实体,其表不再存在于数据库中,并且EF抛出异常?
如果我在EF中定义了多对多关系:
public class StudentImage
{
public int StudentId { get; set; }
public int ImageId { get; set; }
public int Order { get; set; }
public virtual Student Student { get; set; }
public virtual Image Image { get; set; }
}
public class Student
{
public int Id { get; set; }
public string Name { get; set; }
public virtual ICollection<StudentImage> Images { get; set; }
}
public class Image
{
public int Id { get; set; …
Run Code Online (Sandbox Code Playgroud) 我有一个名为UniqueNameSolidWoodRule的精简版ValidationRule来验证数据网格中的重复条目.
这是代码:
public class UniqueNameSolidWoodRule : ValidationRule
{
public CollectionViewSource CurrentCollection { get; set; }
public override ValidationResult Validate(object value, CultureInfo cultureInfo)
{
if (value != null)
{
ObservableCollection<SolidWood_VM> castedCollection = (ObservableCollection<SolidWood_VM>)CurrentCollection.Source;
foreach (SolidWood_VM swVM in castedCollection)
{
if (swVM.Designation == value.ToString())
{
return new ValidationResult(false, ResourcesManager.Instance.GetString("DuplicatedRecord"));
}
}
}
return new ValidationResult(true, null);
}
}
Run Code Online (Sandbox Code Playgroud)
这是XAML片段:
<DataGrid.Resources>
<CollectionViewSource x:Key="CurrentSolidWoodCollection" Source="{Binding Path=SolidWoods}" />
</DataGrid.Resources>
<DataGridTextColumn x:Name="Column2" Header="{x:Static p:Resources.Designation}" Width="auto">
<DataGridTextColumn.Binding>
<Binding Path="Designation" ValidatesOnDataErrors="True" UpdateSourceTrigger="LostFocus">
<Binding.ValidationRules>
<my:UniqueNameSolidWoodRule CurrentCollection="{StaticResource CurrentSolidWoodCollection}"/>
</Binding.ValidationRules>
</Binding> …
Run Code Online (Sandbox Code Playgroud) 想象一下,我有一个名为"MyCheckBoxStyle"的CheckBox自定义样式.
如何根据MyCheckBoxStyle创建嵌入自定义DataGridCheckBoxColumn样式的Datagrid样式?
想象一下,我有这张桌子:
Column A | Column B | Column C
------------------------------
111 X 10
111 Y 12
Run Code Online (Sandbox Code Playgroud)
如何查询此表以显示如下结果:
Column A | X | Y
-----------------------------------
111 10 12
Run Code Online (Sandbox Code Playgroud) 如果我将DataTrigger放在一个简单的Listbox中,我会得到这个运行时异常:
在使用ItemsSource之前,项集合必须为空
我没有datatrigger的列表框(没有例外):
<ListBox ItemsSource="{Binding EdgedBoards}" SelectedItem="{Binding SelEdgedBoard, Mode=TwoWay}" DisplayMemberPath="Name">
<ListBox.ItemContainerStyle>
<Style TargetType="{x:Type ListBoxItem}"
BasedOn="{StaticResource {x:Type ListBoxItem}}">
<Setter Property="IsSelected"
Value="{Binding IsSelected, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
</Style>
</ListBox.ItemContainerStyle>
</ListBox>
Run Code Online (Sandbox Code Playgroud)
我的ListBox包含DataTrigger
:
<ListBox ItemsSource="{Binding EdgedBoards}" SelectedItem="{Binding SelEdgedBoard, Mode=TwoWay}" DisplayMemberPath="Name">
<Style TargetType="{x:Type ListBox}" BasedOn="{StaticResource {x:Type ListBox}}">
<Setter Property="Focusable" Value="True" />
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=EdgedBoardsAdd_UC, Path=Visibility}" Value="Visible">
<Setter Property="Focusable" Value="False" />
</DataTrigger>
</Style.Triggers>
</Style>
<ListBox.ItemContainerStyle>
<Style TargetType="{x:Type ListBoxItem}" BasedOn="{StaticResource {x:Type ListBoxItem}}">
<Setter Property="IsSelected" Value="{Binding IsSelected, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
</Style>
</ListBox.ItemContainerStyle>
</ListBox>
Run Code Online (Sandbox Code Playgroud)
后一个代码有什么问题?
wpf ×4
xaml ×3
wpfdatagrid ×2
automapper ×1
binding ×1
c# ×1
combobox ×1
datatrigger ×1
dto ×1
initializer ×1
listbox ×1
many-to-many ×1
migration ×1
pivot ×1
sql ×1
validation ×1