我正在尝试使用 Entity Framework 6 和 Code First 执行以下操作:
public class Step
{
public int Id { get; set; }
public Step NextStepSuccess { get; set; }
public Step NextStepFailure { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
然而结果是:
无法确定类型“Step”和“Step”之间关联的主要端。必须使用关系流畅 API 或数据注释显式配置此关联的主体端。
当我删除 NextSteps 之一时,它会起作用。
我已经使用 Fluent API 或属性尝试了很多方法,但似乎我无法使其正常工作。从我读到的内容来看,EF 似乎尝试在父-> 子关系中连接我的 2 个 NextStep 属性,然后当然失败,因为未定义主体端。但在我的情况下,这些属性不是同一关系的一部分。
我正在尝试使用MVVM Light Toolkit实现一个应用程序,但我不知何故坚持使用ViewModelLocator.
虽然我很清楚如何从XAML中的视图和视图的代码隐藏中访问它,但是从其他视图模型访问它时遇到了一些问题.
在App.xaml中:
<Application.Resources>
<vm:ViewModelLocatorTemplate xmlns:vm="clr-namespace:MvvmLight1.ViewModel" x:Key="Locator" />
</Application.Resources>
Run Code Online (Sandbox Code Playgroud)
在视图中:
DataContext="{Binding Source={StaticResource Locator}, Path=ViewModelName}"
Run Code Online (Sandbox Code Playgroud)
但是如何从其他视图模型中访问例如MainViewModel?似乎以前版本的ViewModelLocator片段对不同的视图模型有一个静态方法.但那些不再存在,所以我认为这不是要走的路.但是什么呢?或者如果我想从视图模型访问定位器,我是否完全违背了模式?