我很确定以前已经回答过这个问题,但是我很难找到任何可以帮助我的东西。问题是:
我有一个泛型类及其专业化,例如 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; }
}
问题是......我只是不知道如何创建一个可以将数据接受到 ClienteVarejo 模型的 CREATE 视图,同时也可以接受到 PessoaFisica(因为,每当我为新的 ClienteVarejo 输入数据时,我也必须为新的 PessoaFisica 输入数据)。
我已经意识到,在一个强类型为 ClienteVarejo 的视图中,我可以使用 Razor 语法,例如:
@Html.EditorFor(model => model.PessoaFisica.Nome)
但是在我的情况下(即:同时创建两个对象),如何使模型验证发生在两个对象上?
感谢您可以给我的任何帮助... :)
Marcelo Myara 巴西里约热内卢