私はASP.Net MVCとEntity Frameworkの初心者です。そして、私はFluent APIを使ってある種の関係を設定することに固執しています。0〜1または1対1の関係で流暢なAPI関係を設定する方法
モデル
Public Class A
{
[Key]
public int AId {get; set;}
public string AName {get;set;}
}
モデルB
Public Class B
{
[Key]
public int BId {get; set;}
public string BName
}
ビジネスロジック:
- Aは独立して として存在することができる
しかし、たとえばあるシナリオでは、ユーザーがUIのテキストボックスに「2」を入力したとしましょう。このシナリオでは、AにBIdが格納されるようにします。
BIdが表Aに存在し始めた後は、表Aに再び存在することはできません。
だから、私は2つのモデルを持っています
Bも独立して存在する可能性があります
私はこの関係を設定したい理由は、BIdがAテーブルに格納されているときに、私はそれがいくつかのランダムな整数ではないことを確認する必要があるということです。私はBIdがAテーブルに格納されているという約束がBテーブルに実際に存在することを約束します。
私の思考:
私はOptional Unique Foreign Key Relationship
を必要としています。しかし、私はCodeFirst Fluent APIのアプローチでそれを達成する方法がわかりません
以下は今まで私が持っていたものです。
モデル
Public Class A
{
[Key]
public int AId {get; set;}
public string AName {get;set;}
public int BId {get;set;}
public virtual B {get;set;}
}
質問1: どんなタイプ: 私はテーブルに入札かつてとき、それはB表に 質問2 PKの存在でなければならないことを確認してくださいする方法エンティティrelatioshipの私は対処しているのですか? 1..0または1..1または何か他のもの?
dBModelBuilder.Entity<A>()
.HasOptional(r=> r.B)
........
しかし、私は流暢APIのアプローチを学びたいと思っています。私が主キー(EF)の規約に従わなかった場合はどうなりますか?どのように私はこの関係を設定していたのですか? – Unbreakable
「しかし、私はFLuent APIのアプローチを学びたいです。」そして、ここから始めてください:https://msdn.microsoft.com/en-us/library/jj591620(v=vs.113) .aspx –
先生、私は編集セクションで試行しました。あなたは親切に一度見ることができますか?私はそのようなものを欲しい。 – Unbreakable