Entity Framework 7外部キー列名

c# entity-framework entity-framework-core

質問

MasterUserIdとSoftwareSystemIdの2つの外部キーを持つMasterUserApprovalOfficialエンティティがあります。 EF 7はこれらの2つのプロパティが外部キーであることを知るのに十分スマートです。ここに私のMasterUserApprovalOfficialクラスがあります

public class MasterUserApprovalOfficial
{
    public int MasterUserApprovalOfficialId { get; set; }

    public int MasterUserId { get; set; }

    public MasterUser MasterUser { get; set; }

    public int SofwareSystemId { get; set; }

    public SoftwareSystem SoftwareSystem { get; set; }

    public bool Active { get; set; }

    public DateTime CreateDate { get; set; }

    public MasterUserApprovalOfficial()
    {
        CreateDate = DateTime.Now;
    }
}

作成されたテーブルを見て、MasterUserId列が作成され、期待通りに名前が付けられた場合、SoftwareSystemId列はSoftwareSystemSoftwareSystemId (主キーの名前に追加されるクラスの名前)として作成されます。

ここに画像の説明を入力

これには何らかの理由がありますか?

受け入れられた回答

public int SofwareSystemId { get; set; }

そのプロパティを再度読んでください。行方不明になっています:)

2番目の答えも正しく、外部キーのプロパティは必要ありません。クラスのメンバーで十分です


人気のある回答

ForeignKeyおよびColumn属性を使用してこれを修正します。

[ForeignKey("SoftwareSystem"),Column("SoftwareSystemId")]
public int SoftwareSystemId { get; set; }

デフォルトでは、外部キーには「ID」が後ろに追加されますが、既にその名前のプロパティがあるため(EFは外部キーを認識しません)、 SoftwareSystemSoftwareSystemIdに変更されSoftwareSystemSoftwareSystemId



Related

ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ