2017-02-09 5 views
0

連絡先とフォームの間に多少の関係があるシステムがあります。連絡先には多くのフォームがあり、フォームには多くの連絡先があり、フォーム上の連絡先の順序が重要であると判断されています。そこで、FormContactsFormContacts)のソート順の列の関係表を追加しました。この列のデフォルト値はmax(SortOrder) + 1 where FormID = @FormIDです。C#rest APIを使用して、SQL Serverデータベースの連絡先の順序をデフォルトに設定する列のデフォルトロジックを定義する必要があります

使用されている技術:

  • SQL Serverデータベース定義したモデル、DTO、およびコントローラ
あなたはこのロジックを定義し、どのようにだろうだろう

  • C#REST API、EF、それを実装する?

  • +0

    をFormContactsの構造は、現在、どのようなものが見えますか? –

    +0

    FormContactID、FormID、ContactID、(リレーションシップに固有の他の属性の束)、SortOrder – JoAMoS

    +0

    @SkiGeek「どこでこのロジックを定義しますか」とはどういう意味ですか? – CodingYoshi

    答えて

    0

    私は多分このように、サブクエリでMAX(SORTORDER)+1を使用し、挿入を行うためのストアドプロシージャを作成したい:

    CREATE PROC FormContactsInserter 
    (
        @FormID INT, 
        @ContactID INT, 
        @UniqueDataPoint VARCHAR(10) 
    ) 
    AS 
    INSERT INTO FormContacts 
    (FormID, ContactID, UniqueDataPoint, SortOrder) 
    VALUES 
    (@FormID, @ContactID, @UniqueDataPoint, (SELECT MAX(SortOrder)+1 FROM FormContacts WHERE FormID = @FormID)) 
    
    +0

    ありがとう@ digital.aaron、これはうまくいくが、現在のデータベースにはストアドプロシージャがないため、追加できなかったわけではないが、私は追加の解決策を探している。しかし、これはデータ移行の一環として必要になる可能性があります。 – JoAMoS

    関連する問題