0

私は次の2つのクラスを持っています

[Serializable]
public partial class DocumentType
{
    public DocumentType()
    {
        this.Documents = new List<Document>();
    }
    public int ID { get; set; }
    public string Name { get; set; }
    public virtual ICollection<Document> Documents { get; set; }
}

[Serializable]
public partial class Document
{
    public Document()
    {
    }
    public int ID { get; set; }
    public string FileName { get; set; }
    public byte[] Data { get; set; }
    public Nullable<int> TypeIDfk { get; set; }
    public virtual DocumentType DocumentType { get; set; 
}

私はクライアント サーバー アーキテクチャを利用し、ソケットを使用して、すべての DocumentTypes のリストをネットワーク経由でコンボボックスに送信します。

私が抱えている問題は、ドキュメントをネットワーク経由でサーバーに送り返し、それをデータベースに保存すると、DocumentType に重複したエントリが作成されることです。次に TypeIDfk を変更します

DocumentType = null を設定することで解決しました (ただし、 TypeIDfk はそのままにしておきます)。これは、表示したい Binding のために悪いことです。また、それはあまり気にしません DocumentType.ID Send and Save DocumentType = Selected DocumentType に対して次の TypeIDfk を実行できます

しかし、これは面白いところです。私は次のことをしました this.Configuration.ProxyCreationEnabled = false;

Document を DbSet に挿入したときに SaveChanges() を呼び出した後、 Document.DocumentType が自動的に入力されます。(たとえそれがnullだったとしても)挿入後にnullのままにしたくないので、ClientSideで再度変更できます。

しかし、誰かが重複したエントリの問題を解決するのを手伝ってくれるなら、それは素晴らしいことです. 私は大学で私のプロジェクトのために約64のクラスを持っており、各挿入フォームを通過して、重複が発生する場所を確認するのに1週間以上かかります:/

返信ありがとうございます

4

0 に答える 0