問題タブ [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.
.net - Entity Framework は、リレーションシップで "1" または "0 または 1" の多重度を使用する必要があるかどうかをどのように判断しますか?
コード生成プロセスの一環としてプログラムで edmx ファイルを作成しています。「データベースからモデルを更新する」ときに、デザイナーがリレーションシップに「1」または「0..1」を使用する方法を知りたいです。これに関する洞察はありますか?ありがとう
編集:
わかりました、「多」側がnull可能な外部キーの場合は「0..1」を使用し、null可能でない場合は「1」を使用すると思います。誰でもこれを確認できますか?
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で正しい方向を指す関係を取得します。
関係の多様性を変えるために私にできることはありますか?
associations - クラス図における関連多重度の重要性は何ですか?
クラス図における関連多重度の重要性は何ですか? なぜ、いつそれらを示す必要があるのでしょうか? ありがとう。
entity-framework - EF で 2 の多重度をモデル化する方法
このようなものが必要な状況が 2 つあります。私のモデルでは、Message
one または two に関係する がありますPersons
。Addresses
さらに、メッセージには 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 で可能なのかさえわかりません。
Message
Person
Message
Person
Messages
Message
Address
2 番目の状況では、常に fromと常に toがあることを除いて、問題は非常に似ていAddress
ます。多重度を 1--* に設定するのは、私には正しくないようです。ここでは、from 関連付けと to 関連付けの 2 つの関連付けが確実に存在する必要があると思います (両方ともAddress
エンティティに移動します)。Message
ただし、これは2 つの 1 または 2 つの 0..1 を持つ側で同じ問題を引き起こします。
私の質問は、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..* の関連付けを許容できるようにしたいPerson1
とPerson2
思います。多くは2を意味するという事実は、下位層が処理するものになります。住所の場合、from と to はまったく異なります。どちらもアドレスですが、リストにできる気がしません。from アドレスと to アドレスを別々のエンティティに分割し、それらを from から継承させることができます。次に、各サブクラスに関連付けます。少しやり過ぎのように思えるかもしれませんが、ある時点で from アドレスは to アドレスとは異なる要件を持ち、したがって異なるプロパティを持つ可能性があると考えることができます。
Message
Person
Address
Message
私は 100% 満足しているわけではありません (特に住所部分)。この解決策は問題ないかもしれませんが、コアの問題を回避できるように感じます。
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 に自動的に認識させるエレガントなソリューションはありますか?
アドバイスをありがとう!
class - UML 多重度の違い
*
多重度との違いは何0..*
ですか?
たとえば、同じ関係の 2 つのバージョン (A と B):
Web-service is used by any number of usersという記述について、より正しいのはどれですか?
data-modeling - エンタープライズ アーキテクトのデータ モデリングでクロウズ フット表記法を使用する
カラスの足のコネクタではなく、従来の 0..* スタイルの多重度を持つエンタープライズ アーキテクトのコネクタしか使用できません。さまざまな描画スタイルを使用してみましたが、コネクタを変更する方法がわかりません。どんな助けでも大歓迎です:)
c# - インポートファイルをループするときにEF Code-firstの多重度制約に違反しました
編集エラーをより適切に分離しました。下記参照。
C# Code-First EF モデルに and クラスがありますParentObject
。ChildObject
FamilyDB
一連の CSV ファイルからデータベースを作成したいと考えています。はParents
すでに存在します。TheChildren
それぞれに上書きして割り当てるだけですParentObject
。
しかし、私はいつもエラーになります:
そのエラー メッセージは、同じものParentObject
を 2 回割り当てていると非難しているようですが、それぞれrecordSet
が異なるParentName
(したがって親) に対応しているため、そのようなことはしませんでした。
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.
database - StarUML で多重度の値を追加するにはどうすればよいですか
私はデータベース開発を勉強しており、独自の ER モデルを作成しなければならない段階にあります。StarUML ではこれまでのところすべて問題ありませんが、コース ノートには、エンティティ タイプ (カーディナリティと参加) 間に多重度オプションを追加する方法については言及されていません。
誰かがここで私を助けてくれることを願っていますか?
どうもありがとうピーター