sql >> データベース >  >> RDS >> Sqlserver

EF6.1コードファーストの異なる主キーとの1対1の関係

    one-to-one 明示的なFKプロパティ(PayGroup.SupervisorIdなど)との関係 )はサポートされていません。

    したがって、そのプロパティをモデルから削除します:

    public class PayGroup
    {
        public int Id { get; set; }
        public virtual Employee Supervisor { get; set; }
    }
    

    次の流暢なマッピングを使用します:

    modelBuilder.Entity<PayGroup>()
        .HasRequired(e => e.Supervisor)
        .WithOptional()
        .Map(m => m.MapKey("SupervisorId"));
    

    WithOptional() callは2つのことを指定します。まず、Employeeには逆ナビゲーションプロパティがありません クラス、2番目にFKはオプションです(Allow Nulls = true 表にあります。

    逆ナビゲーションプロパティを追加する場合

    public class Employee
    {
        public string EmployeeId { get; set; }
        public string FullName { get; set; }
        public virtual PayGroup PayGroup { get; set; } // <=
    }
    

    WithOptional(e => e.PayGroup)に変更します 。

    必須にする場合(Allow Nulls = false 表内)、対応するWithRequiredDependentを使用します オーバーロード(依存 ここでは、Employee プリンシパルになります およびPayGroup 依存になります )。




    1. AndroidSQLiteの更新行が機能しない

    2. PHP PDO INSERT WHERENOTEXISTSステートメントが機能しない

    3. MAMPを実行しているMacOSXにPostGresQLとMySQLをインストールしますか?

    4. オラクルのネストされたテーブルの最大行数はいくつですか