私はEFで新しく、ETF6.0でコードの最初のアプローチで私の最初のステップを実行しようとしていますが、今は問題があります。Entity FrameworkでStringプロパティを主キーとして使用する方法
私はモデルのための私の主キーであるプロパティ
[Key]
public string FooId { get; set; }
を持っています。
しかし、私は次のエラーを取得するデータベースへの移行を保留更新するために、パッケージマネージャコンソールで
PM> Update-Database
コマンドを実行する場合:私は私のモデルでPKを変更する場合は
Identity column 'FooId' must be of data type int, bigint, smallint, tinyint, or decimal or numeric with a scale of 0, and constrained to be nonnullable.
を
[Key]
public int FooId { get; set; }
すべて正常です。
しかし、私のケースでは絶対的な感覚を与えるので、私はPK型が文字列である必要があります。私には欠点があることは分かっていますが、私にとっては必要です。
私は古いポストをここに見ましたHow to make string as primary key in entity framework!。
しかし、それは私の問題を解決していないか、私はそれを理解していないようです。
SQLデータベースで文字列をPKとして使用できないのは本当ですか?
これを行う方法はありますか?
を鍵がアイデンティティにデフォルト設定されているので、あなたは属性によってそれをオフにする必要があります[DatabaseGenerated(DatabaseGeneratedOption.None)]つまり、追加するときに手動でキーを指定する必要があります(生成されません)。 – Hopeless