私はこれが以前に答えられたことがあるとかなり確信しています、しかし私は私を助けることができる何かを見つけるのに苦労しています。問題は:
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モデルだけでなく、同時にPessoaFisicaにもデータを受け入れることができるCREATEビューを作成する方法がわかりません(新しいClienteVarejoのデータを入力するときはいつでも) 、新しいPessoaFisicaのデータも入力する必要があります)。
ClienteVarejoとして強く型付けされたビューでは、次のようなRazor構文を使用できることをすでに認識しています。
@Html.EditorFor(model => model.PessoaFisica.Nome)
しかし、私の場合(つまり、両方のオブジェクトを同時に作成する場合)、モデルの検証を両方のオブジェクトに対して行うにはどうすればよいですか?
あなたが私に与えることができるどんな助けにも感謝します...:)
マルセロミアラリオデジャネイロ、ブラジル