0

だから私は重複を処理する方法を理解しようとしています.1つの方法は、型を同じ型に再指定するようなものです.

例えば

public class Employee
{
    public int Id {get;set;}
    public string Name {get;set;}
    public int? RemappingId {get;set;}

    public virtual Employee Remapping {get;set;}
}

したがって、基本的には誰でも登録できますが、誰かが誤って重複した従業員を保存した場合、この部分で検証を行うことができないため、重複した従業員を「メイン」の従業員のようにマップするための管理ページを用意する予定です。

しかし、私はこのエラーが発生しています:

タイプ間の関連付けのプリンシパル エンドを判別できません。この関連付けのプリンシパル エンドは、流暢な API またはデータ アノテーションを使用して明示的に設定する必要があります。

したがって、それが重複を処理する正しい方法であるかどうかはわかりません。そうでない場合は、正しい方向に向けてください。それが許容できる場合は、エラーを止めるのを手伝ってくれる可能性はありますか?

ありがとう!

とても有難い!

4

1 に答える 1

0

したがって、それが重複を処理する正しい方法であるかどうかはわかりません。はい、それは実際には良い方法ではありません。そしてあなたもそれを知っています:)

どのように私はあなたがそれをすることを提案しますか

「従業員」で作業しているので、従業員に固有のID(EmployeeIDなど)があると想定しています。したがって、このようなIDを主キーとして作成することで、単純なifExistsでこれをチェックし、ビューに適切なメッセージを表示できます。

更新: 従業員に固有のものがない場合(電子メールやemployeeIdなども)、私によれば、データベースの設計に問題があります。しかし、それも私の個人的な意見です。

お役に立てれば。

于 2012-08-15T13:39:28.057 に答える