問題タブ [multiplicity]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
3429 参照

.net - Entity Framework は、リレーションシップで "1" または "0 または 1" の多重度を使用する必要があるかどうかをどのように判断しますか?

コード生成プロセスの一環としてプログラムで edmx ファイルを作成しています。「データベースからモデルを更新する」ときに、デザイナーがリレーションシップに「1」または「0..1」を使用する方法を知りたいです。これに関する洞察はありますか?ありがとう

編集:

わかりました、「多」側がnull可能な外部キーの場合は「0..1」を使用し、null可能でない場合は「1」を使用すると思います。誰でもこれを確認できますか?

0 投票する
1 に答える
2033 参照

entity-framework - Entity Framework - リレーションシップの多重度の変更

データベースにテーブル [User] と別のテーブル [Salesperson] があります。[ Salesperson] は、外部キーを使用して [User].UserID にマップされる一意のUserID を定義します。Entity Framework でモデルを生成すると、[User]-[Salesperson] の間に 1 対多の関係が得られます。つまり、各ユーザーには「販売員のコレクション」がありますが、必要なのは 0..1-to です各ユーザーが「営業担当者」への null 許容参照を持つ -1 関係。

XML をいじって関連付けの多重度設定を変更しようとしましたが、ビルド エラーしか発生しませんでした。私が達成しようとしているのは、[User] で [Salesperson].SalespersonID を参照する null 許容の SalespersonID を持つことと同じですが、営業担当者は特定のユーザーに対してのみ存在するため、[User] テーブル構造を混乱させるだけのように感じますEntity Frameworkで正しい方向を指す関係を取得します。

関係の多様性を変えるために私にできることはありますか?

0 投票する
3 に答える
3092 参照

associations - クラス図における関連多重度の重要性は何ですか?

クラス図における関連多重度の重要性は何ですか? なぜ、いつそれらを示す必要があるのでしょうか? ありがとう。

0 投票する
2 に答える
501 参照

entity-framework - EF で 2 の多重度をモデル化する方法

このようなものが必要な状況が 2 つあります。私のモデルでは、Messageone または two に関係する がありますPersonsAddressesさらに、メッセージには 2 つの 、つまり fromAddressと toが関連付けられていますAddress

2 つの最初の状況では、1---1..2 の多重度との間の関連付けを指定するか、1---1 との関連付けと 1---0 との関連付けの 2 つの関連Persons付けを指定したいと思います。 1. ただし、多重度を 2 に設定することはできません (または方法がわかりません)。制約を最大 2 に設定して 1--* に設定できる可能性があると想像できます (ただし、その方法はわかりません)。 2 つの関連付けを追加すると、側面を見ると少し奇妙に感じます。これは、両方の関連付けに 1 があり、関連する2 つが必要であることを示しているためです。両方のアソシエーションの側に 0..1 のようなものが必要かもしれませんが、それらに xor 制約があるかどうかはわかりませんが、それが良い習慣なのか、EF で可能なのかさえわかりません。 MessagePerson
MessagePersonMessagesMessage最大2であることを指定したい Person には 2 つの異なるメッセージがあるように見えます Person は 2 つまたはまったく Message を持つことができないようになりました

Address2 番目の状況では、常に fromと常に toがあることを除いて、問題は非常に似ていAddressます。多重度を 1--* に設定するのは、私には正しくないようです。ここでは、from 関連付けと to 関連付けの 2 つの関連付けが確実に存在する必要があると思います (両方ともAddressエンティティに移動します)。Messageただし、これは2 つの 1 または 2 つの 0..1 を持つ側で同じ問題を引き起こします。
ここで、アドレスには 2 つのメッセージがあります 現在、アドレスにはゼロから 2 つのメッセージがあります

私の質問は、EDM でこれを正しくモデル化するにはどうすればよいですか?

前もって感謝します。

更新 1:

質問を明確にするために、なぜそのようなモデルが必要なのかについて、少し背景情報を提供します。メッセージを作成できなければなりません。このメッセージでは、それが 1 人か 2 人かを特定する必要があります。これらの人の名前、姓、およびその他の一意でないプロパティを指定します (2 人が同じ名前を持つことができます)。これらすべてのプロパティをMessageエンティティ (fname1、lname1、fname2、lname2) にダンプできますが、それは悪い考えのようです。したがって、Personエンティティが生まれました。Personただし、これは多くのメッセージにリンクできるように見えるかもしれませんが、そうではありません。同じプロパティを持つ 2 人の異なる人物が存在する可能性があります。これらの人物が実生活で実際に同一人物であるかどうかを判断する方法はありません。

住所の場合も、同様の議論が成立します。2 つの住所の綴りは多少異なる場合がありますが、手紙に書いて郵送すると、どちらも同じ場所に届きます (例: sesamestreet または sesamestr.)。Addressしたがって、複数の に接続された 1 つのエンティティはありませんMessages。繰り返しますが、唯一の理由Addressは別のエンティティです。まったく同じプロパティを持つ em が 2 つあるからです。 メッセージのすべて メッセージの分割 データベース設計の観点からは、これは意味をなさないかもしれませんが、クラス図の観点からは、もう少し理にかなっているかもしれません。私は、EF の EDM はデータベース設計ではなく、ドメイン モデルのようなものであるべきだという印象を受けていたので、正しいことをしたと思います。

更新 2:

この場合、最善の方法と思われる方法を考えてみました。と の間にはほとんど違いがないので、と1..* の関連付けを許容できるようにしたいPerson1Person2思います。多くは2を意味するという事実は、下位層が処理するものになります。住所の場合、from と to はまったく異なります。どちらもアドレスですが、リストにできる気がしません。from アドレスと to アドレスを別々のエンティティに分割し、それらを from から継承させることができます。次に、各サブクラスに関連付けます。少しやり過ぎのように思えるかもしれませんが、ある時点で from アドレスは to アドレスとは異なる要件を持ち、したがって異なるプロパティを持つ可能性があると考えることができます。 MessagePersonAddressMessageソリューション

私は 100% 満足しているわけではありません (特に住所部分)。この解決策は問題ないかもしれませんが、コアの問題を回避できるように感じます。

0 投票する
1 に答える
448 参照

entity-framework-4 - Entity Framework 4 - 1 対 1 の多重度を適用する DB の設計

アプリケーションでエンティティ間に 1:1 の多重度を持たせたいシナリオに遭遇しましたが、これを確実にするためにデータベースを変更する方法がわかりません。

Document テーブルと Index テーブルがあり、Document には常に 1 つの Index があり、Index は 1 つの Document にのみ含まれるとします。Document テーブルには IndexID フィールドがあったため、Document エンティティにはそのインデックスへのナビゲーション プロパティがありますが、Index エンティティには Documents というコレクション ナビゲーション プロパティがあります。

DB スキーマを何らかの方法で編集して、DB からモデルを生成するときに、Document エンティティに Index への単一のナビゲーションがあり、Index に Document に戻る単一のナビゲーション プロパティがあるようにするとよいでしょう。そのようなことは可能ですか?

これを実現するには、モデル デザイン サーフェイスでエンティティ モデルまたはその関連付けを編集できるのではないかと考えました。しかし、ある段階でモデルをリロードすると、これと他のものがリセットされるのではないかと心配しています。

1:1 の多重度があることを EF に自動的に認識させるエレガントなソリューションはありますか?

アドバイスをありがとう!

0 投票する
2 に答える
1121 参照

class - UML 多重度の違い

*多重度との違いは何0..*ですか?

たとえば、同じ関係の 2 つのバージョン (A と B): 例

Web-service is used by any number of usersという記述について、より正しいのはどれですか?

0 投票する
1 に答える
5380 参照

data-modeling - エンタープライズ アーキテクトのデータ モデリングでクロウズ フット表記法を使用する

カラスの足のコネクタではなく、従来の 0..* スタイルの多重度を持つエンタープライズ アーキテクトのコネクタしか使用できません。さまざまな描画スタイルを使用してみましたが、コネクタを変更する方法がわかりません。どんな助けでも大歓迎です:)

0 投票する
0 に答える
539 参照

c# - インポートファイルをループするときにEF Code-firstの多重度制約に違反しました

編集エラーをより適切に分離しました。下記参照。

C# Code-First EF モデルに and クラスがありますParentObjectChildObject

FamilyDB一連の CSV ファイルからデータベースを作成したいと考えています。はParentsすでに存在します。TheChildrenそれぞれに上書きして割り当てるだけですParentObject

しかし、私はいつもエラーになります:

そのエラー メッセージは、同じものParentObjectを 2 回割り当てていると非難しているようですが、それぞれrecordSetが異なるParentName(したがって親) に対応しているため、そのようなことはしませんでした。

0 投票する
4 に答える
24679 参照

bash - Make Bash script exit and print error message if users invoke the script incorrectly

Script needed was

Edit, the script has changed to

invoking the script with no parameters gives no erros and sits blank

I have bit of code

This code pulls lines that have a single word on them and pumps the output to a new file, so for example

The output would be

The code works, users invoke the code using ./scriptname file > newfile

However, I am trying to expand the code to give users an error message if they invoke the script incorrectly.

For the error messange, I'm thinking of echoing something back like scriptname file_to_process > output_file.

I did try

However I have had little luck. The code runs but does nothing if I invoke with just the script name. Also, if I invoke the script with just the scriptname and the input file, it will output the results instead of exiting with the error message.

Other ones I have tried are

Given replies I have received so far, my code now is

When invoking the script without an input file the script does nothing and has to be aborted with ctrl+c, still trying to get the echo of the invoke message.

0 投票する
1 に答える
15985 参照

database - StarUML で多重度の値を追加するにはどうすればよいですか

私はデータベース開発を勉強しており、独自の ER モデルを作成しなければならない段階にあります。StarUML ではこれまでのところすべて問題ありませんが、コース ノートには、エンティティ タイプ (カーディナリティと参加) 間に多重度オプションを追加する方法については言及されていません。

誰かがここで私を助けてくれることを願っていますか?

どうもありがとうピーター