ここで非常にばかげた状況に上陸しました。EFコード第1の主キーとしての参照キー
私はEFコア、ASP.NETコア、Visual Studio 2017コミュニティでコーディングしています。 User
は、名前のようにすべてのフィールドを持つテーブルをある
public class LoginRecord
{
public User User { get; set; }
public int UserId { get; set; }
public DateTime LastLogin { get; set; }
public int LoginCount { get; set; }
}
、電子メールなど
私はadd-migration
を行い、エラー:
私のような主キーを持っていないモデルがあります
エンティティタイプ 'LoginRecord'は、主キーを定義する必要があります。
それから私はこのようUserId
フィールドに[Key]
注釈を追加することで試してみました:
public class LoginRecord
{
public User User { get; set; }
[Key]
public int UserId { get; set; }
public DateTime LastLogin { get; set; }
public int LoginCount { get; set; }
}
が、今、EFは、外部キーになりUserId1
と呼ばれる新しい列を作成します。
UserId
は参照キーに過ぎず、このテーブルには主キーは必要ありません。
可能ですか?はいの場合は助けてください!
EF **は、各テーブルの主キー**を必要としています - ので、あなたが... –
あなたが使用しようとすることができます構成された主キー。 UserId + LastLogin + Countと言ってくださいが、動作しているかわかりません) – SergeyAn
LoginRecordIdをプライマリキーとして追加してください – Alexan