トップページ > プログラム > 2016年08月03日 > m0rhFcyF

書き込み順位&時間帯一覧

2 位/220 ID中時間01234567891011121314151617181920212223Total
書き込み数00000000000001343300001015



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
ふらっと C#,C♯,C#(初心者用) Part123 [無断転載禁止]©2ch.net

書き込みレス一覧

ふらっと C#,C♯,C#(初心者用) Part123 [無断転載禁止]©2ch.net
98 :デフォルトの名無しさん[]:2016/08/03(水) 13:41:35.76 ID:m0rhFcyF
Attaching an entity of type failed because another entity of the same type already has the same primary key value.

主キーが二つあるってエラーなのかなこれ
AがBクラスのリストを持っている構造でエラーが起きています
ふらっと C#,C♯,C#(初心者用) Part123 [無断転載禁止]©2ch.net
102 :デフォルトの名無しさん[]:2016/08/03(水) 14:21:55.96 ID:m0rhFcyF
やろうとしているのは、>>20です。
コードとかあったり、またレスで参考になるのが多いので、三つの関係を二つの関係にして考え直したら詰まっているので聞きに来ました。
俺が持つ写真リスト、友人リストってのをなくして、
単純に写真と友人の関係で考えようとしています。

写真リスト:持っている写真
友人リスト:写真に写っている人達

写真1にはX, Y, Zが写っている
写真2にはX, Wが写っている
写真3にはX, Zが写っている

写真を写真DBに登録→映っている人を友人DBに登録って形にしようとしているところです。
写真DBに写真を登録する時には、紐付け対象の友人DBが存在しないので写真のみ登録して、
友人DBに友人を登録する時には、写真DBのIDを外部キーにしてどの写真の情報なのかも登録しようとしています。

そしたら、登録はできるのですが…友人を登録する時に関係のない写真に新規追加などがされて数が異常に増える問題が起きてしまいます。
http://mslaboratory.blog.eonet.jp/default/2012/05/entity-framewor-2c13.html
を参考にして、写真一枚一枚のDBを抜き出して、UnchangedやAttachとか試みているけど効果がないorエラー頻発…

http://ideone.com/e.js/CrtNh1
コードは必要そうなところを抜き出して書き直したやつが上
ふらっと C#,C♯,C#(初心者用) Part123 [無断転載禁止]©2ch.net
103 :デフォルトの名無しさん[sage]:2016/08/03(水) 14:30:49.38 ID:m0rhFcyF
ちなみに参考にしたのは>>40
これを綺麗に書き直したかったけど俺にはできなかった…
ふらっと C#,C♯,C#(初心者用) Part123 [無断転載禁止]©2ch.net
105 :デフォルトの名無しさん[sage]:2016/08/03(水) 14:49:42.49 ID:m0rhFcyF
>>104
三つ目のテーブルの話だよね
それも考えたんだけど中間テーブルとかの話で勝手に作られるってあるみたいだから
それを利用しようとして見たら本当にテーブルできてる
ただ異常に値が増えるから困ってるってとこですわぁ…
ふらっと C#,C♯,C#(初心者用) Part123 [無断転載禁止]©2ch.net
109 :デフォルトの名無しさん[]:2016/08/03(水) 15:06:56.64 ID:m0rhFcyF
>>106-107
答えてくれてありがとう。
個人的な課題の話で、構造を書き換えるのが無理なんだわ…

>>106のはおそらくクラス設計からやり直せって話なんだろうけども、
今は課題に対してこのクラス設計でって話になっているから変えられない…

>>107も同様で、コードファーストなのでデータファーストに切り替えれないんよ
ふらっと C#,C♯,C#(初心者用) Part123 [無断転載禁止]©2ch.net
111 :デフォルトの名無しさん[]:2016/08/03(水) 15:16:54.63 ID:m0rhFcyF
>>108
以前はありがとう
ドヤアアアアアアアアアしたくてこっそりやってたけどできんかった
コードは>>102がほぼ全て
データは他のところから取ってきているから書けんけどデータの取得方法だけが違うだけで内容としては変わってないと思う

>>110
操作とかデータを取得することはできないってことなのかな
中間テーブルが作られるだけで意味ないとイメージすればよろしいのだろうか
ただ、中間テーブル云々の前に
友人に写真リストを追加してDB保存すると、写真に新規追加される問題があるから
この問題は解決しないといけないという現状。たぶんこの問題をクリアしないと結局次に進めない
中間テーブルって話ではないんじゃないかなってなってて、上の方のサイトを見てAttachとかやっていたところ
ふらっと C#,C♯,C#(初心者用) Part123 [無断転載禁止]©2ch.net
115 :デフォルトの名無しさん[sage]:2016/08/03(水) 15:25:59.10 ID:m0rhFcyF
>>113
データを写真以外でも良いから簡単な例でってことかな
ちょっと組み換えてやってみるよ

>>114
これってC#の話でなくその話なんか
最近C#始めたばかりでどれがどれでなんてわからんのよね
ふらっと C#,C♯,C#(初心者用) Part123 [無断転載禁止]©2ch.net
118 :デフォルトの名無しさん[]:2016/08/03(水) 15:58:47.02 ID:m0rhFcyF
試しに超簡単な例でやってみたら問題なく動いた
ただ、四層構造で今DBにデータ格納してるのだけどそれが原因なのかなって思ってきた…

using( var db = new DbCntext ) {

}

別のとこに存在する上記のコードで変更すると、関連するデータがすべて変わる雰囲気がある
ふらっと C#,C♯,C#(初心者用) Part123 [無断転載禁止]©2ch.net
120 :デフォルトの名無しさん[sage]:2016/08/03(水) 16:42:27.07 ID:m0rhFcyF
>>119
そこ考えているとこでどういう意味があるのだろうかは効果があってから考えようとしていた
アタッチは接続的な意味があると思ってて取ってきたものに接続することで変更を許さなくするものだと勝手に思い込んでる
参考はこれ http://mslaboratory.blog.eonet.jp/default/2012/05/entity-framewor-2c13.html
ふらっと C#,C♯,C#(初心者用) Part123 [無断転載禁止]©2ch.net
121 :デフォルトの名無しさん[sage]:2016/08/03(水) 16:43:39.18 ID:m0rhFcyF
本当はimageを入れれば良いんじゃないかと思ってるのだけど入れると
>>98のエラーが出てくる どの値が被っているのかが全然わからない…
ふらっと C#,C♯,C#(初心者用) Part123 [無断転載禁止]©2ch.net
123 :デフォルトの名無しさん[sage]:2016/08/03(水) 16:56:52.39 ID:m0rhFcyF
>>122
もしかしてなんだけど
写真リストが持つ友人リスト
友人リストが持つ写真リスト
写真リストが持つ友人リスト…ってループするから
1つ目の友人リストと、2つ目の友人リストが被って〜…とかありえるのかな

今回のやつで中間テーブルを使用せずに>>110が言うようにするならどうすれば良いんだろう
写真リストは写真情報
友人リストは写真情報
同じ写真情報テーブルを持てば良いのかな
それとも四つのクラスだろうか>>106のような
ふらっと C#,C♯,C#(初心者用) Part123 [無断転載禁止]©2ch.net
125 :デフォルトの名無しさん[sage]:2016/08/03(水) 17:01:47.79 ID:m0rhFcyF
>>124
別のusing(var db = new .....)の中でのインスタンスと紐付ける場合に必要って認識で良いのかな
ふらっと C#,C♯,C#(初心者用) Part123 [無断転載禁止]©2ch.net
127 :デフォルトの名無しさん[sage]:2016/08/03(水) 17:27:13.60 ID:m0rhFcyF
>>126
それで今考え直してるところ。その三つ目のテーブルでおそらく

撮影情報テーブル
写真番号 被写体
1 X
1 Y
1 Z
2 X
3 Y
3 Z

こんなテーブル作るって意味よね。
この場合このテーブルには写真と友人のリストを持たせる
そして写真と友人の相互のリストを消し去る
ってのは問題なくできそうなんだけど関係性を繋げるキーってなにか設定いるかな
写真番号と被写体はそれぞれのテーブルの外部キーになるとは思うのだけども
ふらっと C#,C♯,C#(初心者用) Part123 [無断転載禁止]©2ch.net
129 :デフォルトの名無しさん[]:2016/08/03(水) 17:41:19.97 ID:m0rhFcyF
>>128
おおわざわざありがとう
http://ideone.com/DiTuFt
一応俺も書いてみたけど少し違うね…ここはリストで持つ必要や、写真・友人との関連性は必要ないのかな
リストだとまた変な感じになるのか…

そのPictureIdとかは重複を許すってので合ってるよね
ふらっと C#,C♯,C#(初心者用) Part123 [無断転載禁止]©2ch.net
134 :デフォルトの名無しさん[sage]:2016/08/03(水) 22:43:54.41 ID:m0rhFcyF
>>133
おお 長々とありがとう
こちらもなんか変な問題にぶちあたってたとこで困ったらここに来るようになった
一番始めにデータには紐付けてはしてないのね
あとで紐付ける感じなのですな

まだ全然わからないコードが多いからまずはべんきょうしてくるわ!!!!!


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。