我有以下模型類(我首先使用EF代碼來生成表)。兩種模式之間的一對一關係?
public class MyClass
{
....
[Required, ForeignKey("Address")]
public int Address1Id { get; set; }
virtual public Address Address1 { get; set; }
[Required, ForeignKey("Address")]
public int Address12d { get; set; }
virtual public Address Address2 { get; set; }
[Required, ForeignKey("Address")]
public int Address3Id { get; set; }
virtual public Address Address3 { get; set; }
....
}
public class Address { .... }
預祝MyClass
在創建視圖顯示了所有的地址字段和保存MyClass
時,地址將先保存在表地址。但腳手架爲地址生成了一個DropDownList框。如何修改代碼以使其具有類似這些地址字段的作用,並直接在類MyClass
中編碼,並讓控制器將表和AddressID
中的地址保存在表MyClass
中?
<div class="editor-label">
@Html.LabelFor(model => model.Address1Id, "Address")
</div>
<div class="editor-field">
@Html.DropDownList("Address1Id", String.Empty)
@Html.ValidationMessageFor(model => model.Address1Id)
</div>
更新: 我試圖創建下面的視圖模型,但腳手架抱怨沒有在類中定義鍵。
public class DealViewModel
{
public Deal Deal { get; set; }
public Address Address { get; set; }
}
這是一個MVC或EF問題。 MVC可以使用這種模型。 EF期望適用於某個鍵的類型。複雜類型適合作爲DB鍵。你希望達到什麼目的? – 2013-02-17 07:24:41