我要做的是通过FluentHtml在EF实体中设置一个外键对象。我有一个Foo实体,通过Foo.Bar引用对象Bar。我想要做的是在我的视图窗体中设置Bar的值。我的模型包含通过Model.Bars的所有Bars的集合。在我看来,我只是使用<%= this.Select(m => m.Foo.Bar).Options(Model.Bars) %>
,但模型状态声称它无效。下拉列表已正确填充条形ID,它们看起来都有效。我需要在表单中设置EF实体引用属性吗?
我刚从Linq2SQL移过,我只是使用Select(m =&gt; m.Foo.BarId),因为您可以映射关键引用以及对象。但是,实体框架不允许这样做。
答案 0 :(得分:1)
您遇到使用业务对象作为视图模型时出现的众多复杂情况之一。我可能会建议,从长远来看,如果将业务对象转换为轻量级视图模型以进行渲染和绑定,则会减少麻烦。让你的服务层(或控制器,如果你必须)弄清楚如何根据EditFoo.BarId设置Foo.Bar。
答案 1 :(得分:0)
我不知道FluentHtml。但关于EF: