質問: モデルがあります ``` public User { public long Id {get;set;} public string UniqueUserId{get;set;} public string Company {get;set;} public string City {get;set;} } ``` ここでIdは自動インクリメントの主キー、CompanyおよびCityです。これらはユーザーが入力した値です。 UniqueUserIdはパターン値です。その16桁の値それは会社の最初の4文字、都市からの4文字を含み、残りの桁はIDから取られます(Idが1であると仮定します。ループを使用して他の桁を0として挿入します)。 私が実際に今やっていることはそれです=> 1. ユーザーからデータを読み込む 2. データをコンテキストに挿入してから変更を保存する 3. 正常に挿入されたデータをコンテキストから取得します 4. UniqueUserIdを生成します。 5. エンティティを更新し、変更内容をコンテキストとともに保存します。 私はこれを行うためのより良い方法があることを知っています。しかし、私はそれがわかりません。それで、改善されたより良い解決策はありますか?
回答: 主な問題は、挿入前に自動インクリメントIDを取得しようとしています。 あなたは保存する前に自動インクリメントIDを取得できますか?提案された答えは、それを回避し、あなた自身がおそらく欠陥のあるIDを決定するための、すべての「トリック」ではありません。 IDの代わりにGUIDを使用することを含む他のオプションがありますが、それはあなたの要件によって異なります。