【发布时间】:2012-11-03 20:08:00
【问题描述】:
我很确定以前已经回答过这个问题,但是我很难找到任何可以帮助我的东西。问题是:
我有一个泛型类和它的特化,比如一个 PERSON 和一个 CLIENT(它是一个 PERSON)。所以,我在数据库上有 2 个表,它们是:
PESSOA_FISICA
ID_PESSOA_FISICA Identity
TX_NOME Varchar(120)
TX_CPF Char(8)
DT_NASCIMENTO DateTime
CLIENTE_VAREJO
ID_CLIENTE_VAREJO Identity
ID_PESSOA_FISICA Int (FK to PESSOA_FISICA)
IN_STATUS Char(1)
TX_FILIAL Varchar(20)
对于 C# 类,我得到了这个:
[Table("PESSOA_FISICA")]
public class PessoaFisica
{
[Key]
[Column("ID_PESSOA_FISICA")]
public int? IDPessoaFisica { get; set; }
[Column("TX_NOME")]
public string Nome { get; set; }
[Column("TX_CPF")]
public string CPF { get; set; }
[Column("DT_NASCIMENTO")]
public DateTime Nascimento { get; set; }
}
[Table("CLIENTE_VAREJO")]
public class ClienteVarejo
{
[Key]
[Column("ID_CLIENTE_VAREJO")]
public int? IDClienteVarejo {get;set;}
[Column("ID_PESSOA_FISICA")]
[ForeignKey("PessoaFisica")]
public int IDPessoaFisica { get; set; }
public virtual PessoaFisica PessoaFisica { get; set; }
[Column("IN_STATUS")]
public String Status { get; set; }
[Column("TX_FILIAL")]
public String Filial { get; set; }
}
问题是......我只是不知道如何创建一个 CREATE 视图,该视图可以接受数据到 ClienteVarejo 模型,但同时也接受到 PessoaFisica(因为,每当我输入数据时一个新的 ClienteVarejo,我也必须为新的 PessoaFisica 输入数据。
我已经意识到,在一个强类型为 ClienteVarejo 的视图中,我可以使用 Razor 语法,例如:
@Html.EditorFor(model => model.PessoaFisica.Nome)
但在我的情况下(即:同时创建两个对象),如何使模型验证发生在两个对象上?
感谢您能给我的任何帮助... :)
马塞洛·米拉 巴西里约热内卢
【问题讨论】:
标签: asp.net-mvc-3 view model