前スレ
VB.NET質問スレ(Part40)
http://toro.2ch.net/test/read.cgi/tech/1365857015/
VB.NET質問スレ(Part41)
http://peace.2ch.net/test/read.cgi/tech/1391334405/
VB.NET質問スレ(Part42)
http://echo.2ch.net/test/read.cgi/tech/1419148239/
探検
VB.NET質問スレ(Part43) [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2016/06/15(水) 11:41:09.50ID:bPj3FmGk2016/07/15(金) 20:21:13.97ID:2BxGkjsb
お前らVB.Netなんかやってるの?
俺なんか今の仕事場VB6.0だぞ。
CPUはPen4でOSなんかまだXP。
XPはマズいので何か機会が有ったら通報してみようかと思ってる。
俺なんか今の仕事場VB6.0だぞ。
CPUはPen4でOSなんかまだXP。
XPはマズいので何か機会が有ったら通報してみようかと思ってる。
2016/07/15(金) 20:59:19.37ID:iSfUktoe
>>54
ありがとうございます!
ありがとうございます!
2016/07/15(金) 22:41:00.37ID:AtypjOfw
>>55
確か明治時代はみんなそうやってたんだっけ?
確か明治時代はみんなそうやってたんだっけ?
2016/07/15(金) 22:53:00.93ID:P5LMS7dI
>>58
教えてください
明治時代のVSのバージョンはいくつだったんですか?
Windowsのバージョンは?
CPUは何だったんですか?
ビル・ゲイツは生まれてなかったと思うんですがマイクロソフトはあったんですね?
教えてください
明治時代のVSのバージョンはいくつだったんですか?
Windowsのバージョンは?
CPUは何だったんですか?
ビル・ゲイツは生まれてなかったと思うんですがマイクロソフトはあったんですね?
2016/07/15(金) 23:33:10.42ID:khTZoh5c
2016/07/16(土) 00:34:50.26ID:x1AhYluy
2016/07/16(土) 09:09:16.76ID:w6ElOsX+
63デフォルトの名無しさん
2016/07/16(土) 12:22:45.14ID:3oB/Pjks なんなら俺が最高峰の煽りを見せてやろうか?
2016/07/16(土) 13:21:59.74ID:3jub9Gwj
でもこれで>>60がやってるのがjava辺りだったらウケるよな
2016/07/16(土) 16:47:05.11ID:XRI+XgN5
フォームにボタン1つ設置して、そのボタンおすと新しいエクセルのファイルが作られるようにしたいのだけど、どうやればよいですか?
参照の追加から、ライブラリ?を追加することをしなければならないのはネットで理解したのですが、
さしあたりサンプルコードなどをコピペしてみても、エラーに泣てうまくいきません
参照の追加から、ライブラリ?を追加することをしなければならないのはネットで理解したのですが、
さしあたりサンプルコードなどをコピペしてみても、エラーに泣てうまくいきません
2016/07/16(土) 17:12:58.61ID:w6ElOsX+
ファイル作るだけなら空のファイル用意しといて名前つけてコピーするだけじゃんw
2016/07/16(土) 19:37:10.54ID:T1HW9qn+
>>51
checkboxとlistboxがペアになってるならUseControl作るのが正解だろうね
checkboxとlistboxがペアになってるならUseControl作るのが正解だろうね
2016/07/26(火) 12:49:23.36ID:9fHSiM6q
ASP.NETなんですが、
フォーム認証をやってますが、ログインフォームで、
System.Web.Security.FormsAuthentication.SetAuthCookie(userID, True)
という風に、永続化させたとします。
んで、次回からはクッキーが削除されない限り、ログインフォームに来ないで
前回のログイン情報が生きてるように見えます。(Context.Userに値が入ってきてる)
ここまでは全く問題ありませんが
ログインフォームでは、userIDに応じたユーザー名(漢字)もDBから取得していて
Session("userName") へ格納しています。
永続化させると次回からはログインフォームに飛んでこないようになるため
この仕組みが通らず、Context.User に値は入ってるけど、Session("userName")は空という事態が起きます。
永続化させた後にも、ログインと同等の処理がglobal.asaxの中のどっかを通ると思うんですが
Context.Userの値でDB検索して漢字名をSession("userName")にセットするにあたり
global.asaxのどこへ書くといいですか?
フォーム認証をやってますが、ログインフォームで、
System.Web.Security.FormsAuthentication.SetAuthCookie(userID, True)
という風に、永続化させたとします。
んで、次回からはクッキーが削除されない限り、ログインフォームに来ないで
前回のログイン情報が生きてるように見えます。(Context.Userに値が入ってきてる)
ここまでは全く問題ありませんが
ログインフォームでは、userIDに応じたユーザー名(漢字)もDBから取得していて
Session("userName") へ格納しています。
永続化させると次回からはログインフォームに飛んでこないようになるため
この仕組みが通らず、Context.User に値は入ってるけど、Session("userName")は空という事態が起きます。
永続化させた後にも、ログインと同等の処理がglobal.asaxの中のどっかを通ると思うんですが
Context.Userの値でDB検索して漢字名をSession("userName")にセットするにあたり
global.asaxのどこへ書くといいですか?
2016/07/26(火) 21:07:32.60ID:9v81EC5I
Sessionが認証状態を超えるなら考えないといかんが
とりあえずSession_Startあたりで良いんじゃね
とりあえずSession_Startあたりで良いんじゃね
2016/08/15(月) 21:51:30.36ID:B7Nw7mUX
・商品がカテゴリ分けされていて階層で管理されている (例. カテゴリ1 → カテゴリ1-1 → カテゴリ1-1-1 → 商品A)
・商品管理画面にカテゴリの階層構造をツリーとして表示する(顧客からの要望)
・管理する商品件数は1000件程度
・ツリー内の好きな位置で新しい商品を追加したり、商品を削除したり、カテゴリ(ツリー構造)を変更したりする
・ツリー内容は全展開する(顧客からの要望)
上記のような機能を実装しているのですが、
1000件程度でもツリーにノード追加したり、階層構造を変更したりすると時間が掛かってしまいます。
BeginUpdateで描画更新をとめる処理を入れるのは既に試していますが、
レスポンスが悪いと感じております。
そこでTreeViewでBeginUpdate以外の方法で処理を早くする方法もしくは、
階層構造が表現できて1000件程度でも高速であるTreeView以外の代替コントロールはありますでしょうか?
・商品管理画面にカテゴリの階層構造をツリーとして表示する(顧客からの要望)
・管理する商品件数は1000件程度
・ツリー内の好きな位置で新しい商品を追加したり、商品を削除したり、カテゴリ(ツリー構造)を変更したりする
・ツリー内容は全展開する(顧客からの要望)
上記のような機能を実装しているのですが、
1000件程度でもツリーにノード追加したり、階層構造を変更したりすると時間が掛かってしまいます。
BeginUpdateで描画更新をとめる処理を入れるのは既に試していますが、
レスポンスが悪いと感じております。
そこでTreeViewでBeginUpdate以外の方法で処理を早くする方法もしくは、
階層構造が表現できて1000件程度でも高速であるTreeView以外の代替コントロールはありますでしょうか?
2016/08/15(月) 22:50:45.95ID:yyEmga7M
1000件とかなら適当なグリッド使ったほうがいい
7270
2016/08/17(水) 05:55:50.00ID:Cm/M2Pe62016/08/19(金) 13:22:10.36ID:WvWYXZXO
パネルを敷いて、その上にボタンを貼り付けるとします。
ボタンの位置、上左を起点にして位置決めしたとします。
んで、ボタンの上と下の余白とが同じになるように
パネルの大きさを弄ってますが、これが極めて面倒
(プロパティウィンドウでサイズを数値で打ったほうが早いレベル)
デザイナでマウス使って、簡単に位置合わせできないもんでしょうか。
ボタンの位置、上左を起点にして位置決めしたとします。
んで、ボタンの上と下の余白とが同じになるように
パネルの大きさを弄ってますが、これが極めて面倒
(プロパティウィンドウでサイズを数値で打ったほうが早いレベル)
デザイナでマウス使って、簡単に位置合わせできないもんでしょうか。
2016/08/19(金) 13:29:16.02ID:SITb9Fi/
>>73
同じ物(パネルの中にボタンがある)が複数あるのならコピペすりゃいいんじゃないの?
そもそも本当にパネルの中にボタンが一つだけ(と言ってるように聞こえるけど)しかないなら
パネルが必要あるように思えないんだけど。
同じ物(パネルの中にボタンがある)が複数あるのならコピペすりゃいいんじゃないの?
そもそも本当にパネルの中にボタンが一つだけ(と言ってるように聞こえるけど)しかないなら
パネルが必要あるように思えないんだけど。
2016/08/19(金) 21:27:55.12ID:xxHTQg5s
76デフォルトの名無しさん
2016/09/01(木) 22:14:52.74ID:32zBwDCY これから自作の業務ソフトを作る為に勉強始めようと思うのですが、まともなコーディング出来るまでどれくらい時間かかるもんでしょうか
VBAをちょこちょこやってるレベルです
会社に出来る人はいないので独学しかないです
いい勉強方法などあれば教えていただきたいです
VBAをちょこちょこやってるレベルです
会社に出来る人はいないので独学しかないです
いい勉強方法などあれば教えていただきたいです
2016/09/01(木) 22:42:58.64ID:KXjO58d1
>>76
c♯にしとけ
c♯にしとけ
2016/09/01(木) 22:53:09.46ID:4TKfOi4K
>>76
目的のものがあれば調べまくってとりあえず、動くものを作る。
ちゃんと動けば楽しくなって、更に深く調べる。
こんな繰り返しでだんだんと上達してくるんじゃない?
最初からキレイで無駄のないコードを書くのは難しいよね。
どのくらいの期間かは、本人の努力でいかようにも短くなるんじゃない?
目的のものがあれば調べまくってとりあえず、動くものを作る。
ちゃんと動けば楽しくなって、更に深く調べる。
こんな繰り返しでだんだんと上達してくるんじゃない?
最初からキレイで無駄のないコードを書くのは難しいよね。
どのくらいの期間かは、本人の努力でいかようにも短くなるんじゃない?
79デフォルトの名無しさん
2016/09/02(金) 20:43:57.57ID:TnXBqpSE >>77>>78
ありがとうございます。
.NETで一通りコーディング出来たらC#で同じもの作ってみたいと思ってます
とりあえずやってみるしかないですよね。作りたいものは決まってるので頑張ってみます
クラス設計出来るようになるだろうか。。
ありがとうございます。
.NETで一通りコーディング出来たらC#で同じもの作ってみたいと思ってます
とりあえずやってみるしかないですよね。作りたいものは決まってるので頑張ってみます
クラス設計出来るようになるだろうか。。
2016/09/02(金) 22:14:27.15ID:LsVX2JMM
VBは情報の質が低いから初心者は変な癖が付きやすい
まともにオブジェクト指向を解説してる書籍なども少ない
どうせC#もやるつもりなんだったら最初からC#でいくほうが近道だよ
まともにオブジェクト指向を解説してる書籍なども少ない
どうせC#もやるつもりなんだったら最初からC#でいくほうが近道だよ
2016/09/02(金) 22:16:49.34ID:DWiKd03r
c#厨が必死だなw
2016/09/03(土) 00:43:38.63ID:iqP+pTRw
まぁC#でもjavaとかに比べるとObject指向の本とか少ないけどな。VBよりマシってくらいで。
C#もjavaも似たような構文してるから両方やっとくといい。
ついでにC#とVBも構文じゃなくて中身がそんなに変わるもんじゃないから一緒にやっとくといいよ。
C#もjavaも似たような構文してるから両方やっとくといい。
ついでにC#とVBも構文じゃなくて中身がそんなに変わるもんじゃないから一緒にやっとくといいよ。
2016/09/03(土) 08:27:57.79ID:NvN4PBVL
VBはオープンソースプロジェクトがほぼ皆無だからなあ
「スキルの高い人が正しく使えばこうなる」というものに触れる機会が無いのは致命的
「スキルの高い人が正しく使えばこうなる」というものに触れる機会が無いのは致命的
84デフォルトの名無しさん
2016/09/03(土) 12:35:14.12ID:lH1/+nJg vbは構文が破綻しかけてるからこれからプログラミングを始める人がやるべき言語ではない
85デフォルトの名無しさん
2016/09/03(土) 12:40:16.59ID:IeofIhBF .NETがとっつきやすそうだったのでクラスがどういったものがあるか勉強しながらC#に移行出来ればと考えてたんですが
.NETだとオブジェクト指向らしくないコーディングをする癖がついてしまうでしょうか
C#に移行すればそんなこともいってられないくらい矯正できますかね?
.NETだとオブジェクト指向らしくないコーディングをする癖がついてしまうでしょうか
C#に移行すればそんなこともいってられないくらい矯正できますかね?
86デフォルトの名無しさん
2016/09/03(土) 12:42:48.70ID:IeofIhBF >>84
マジすか。。素直にC#から入ろうかな
マジすか。。素直にC#から入ろうかな
2016/09/03(土) 12:59:42.87ID:HDnGX34n
いや、VBの方がC#より簡単とか今はないよw
宗教論争抜きでもうあえてVBを選択する理由はないから、素直にC#にした方がいいと思う。
宗教論争抜きでもうあえてVBを選択する理由はないから、素直にC#にした方がいいと思う。
2016/09/03(土) 13:37:14.87ID:SV787nMm
ただVBはやっておくと結構いきなりVBAのコードが書けたりする
2016/09/03(土) 13:38:51.14ID:XJfcWEgm
FrameworkがC♯なんだから素直にC♯にしとけよ
2016/09/03(土) 13:47:15.45ID:FSQOfEYz
VBは大文字小文字の区別がないからパンチが雑になる
VBやったあとにC#触るとあれっ?てなる
かっこで条件をかかなくていいのはVBの唯一好きな点だな
VBやったあとにC#触るとあれっ?てなる
かっこで条件をかかなくていいのはVBの唯一好きな点だな
2016/09/03(土) 13:47:46.48ID:FSQOfEYz
あ、If文の話ね
2016/09/03(土) 14:50:51.90ID:zuYDJ0Q0
2016/09/03(土) 15:11:32.11ID:HDnGX34n
>>92
気付いてないみたいだけど、まさにお前さんがやってるようなことが宗教論争なんだよw
見た目なんて慣れの問題だよ。多くの人がそう言ってるでしょ。
本当に致命的に欠点があるのならこんなにC#が支持されてるわけないじゃん。
そういう個人の好みは置いといて、今から始める人がどちらを選んだ方が得をするか、
そういう話でしょ。
ユーザー数や公表されるサンプルコードの数でC#が勝るのは客観的事実だし、.NETの標準がC#なのも事実。
要するにC#を選んだ方が圧倒的に得なのは動かしがたい事実だよ。
気付いてないみたいだけど、まさにお前さんがやってるようなことが宗教論争なんだよw
見た目なんて慣れの問題だよ。多くの人がそう言ってるでしょ。
本当に致命的に欠点があるのならこんなにC#が支持されてるわけないじゃん。
そういう個人の好みは置いといて、今から始める人がどちらを選んだ方が得をするか、
そういう話でしょ。
ユーザー数や公表されるサンプルコードの数でC#が勝るのは客観的事実だし、.NETの標準がC#なのも事実。
要するにC#を選んだ方が圧倒的に得なのは動かしがたい事実だよ。
2016/09/03(土) 15:29:02.10ID:uKYB9ZOR
そらまあ構わないが
ならC#スレでやってくれ
ならC#スレでやってくれ
2016/09/03(土) 15:39:32.30ID:zuYDJ0Q0
出たw
「多いから」
多いのが良けりゃトヨタ車が一番いいクルマだわなw
「多いから」
多いのが良けりゃトヨタ車が一番いいクルマだわなw
2016/09/03(土) 16:49:33.83ID:NvN4PBVL
一番の違いはC#を覚えればVBは自動的に使えるようになるけど逆はそうでもないという点だな
そして初学者にとっての学習コストはC#のほうが低いんだからVBを選ぶ理由がない
C#使える人でVBにコンプレックス持ってる人はまずいない
その逆は見ての通りだ
そして初学者にとっての学習コストはC#のほうが低いんだからVBを選ぶ理由がない
C#使える人でVBにコンプレックス持ってる人はまずいない
その逆は見ての通りだ
2016/09/03(土) 16:53:33.28ID:HDnGX34n
2016/09/03(土) 19:28:47.71ID:b8f1NloR
まあ、ホントに全く新規で始めるのにVBかC#かってなら俺もC#を勧めるが
>初学者にとっての学習コストはC#のほうが低い
には同意できん
よい教材か、正しい指導者が居るなら同程度かVBが勝る
ただし、それに当たる確率はC#の方が多いけどな
>初学者にとっての学習コストはC#のほうが低い
には同意できん
よい教材か、正しい指導者が居るなら同程度かVBが勝る
ただし、それに当たる確率はC#の方が多いけどな
2016/09/03(土) 19:35:40.75ID:HDnGX34n
>>98
いやC#の方が覚えること少なくて初心者向きだと思うよw
VBはなまじ今となっては使わない方がいいレガシー機能とかあってとっつきづらいと思う。
WitheventsとHandlesでとりあえずデリゲートを理解しなくてもイベントが使えるとか、例外もあるけどねそりゃ。
いやC#の方が覚えること少なくて初心者向きだと思うよw
VBはなまじ今となっては使わない方がいいレガシー機能とかあってとっつきづらいと思う。
WitheventsとHandlesでとりあえずデリゲートを理解しなくてもイベントが使えるとか、例外もあるけどねそりゃ。
100デフォルトの名無しさん
2016/09/03(土) 21:04:33.37ID:b8f1NloR 覚えるのが少ないって
キーワード増やしたくないって結果が
+=でイベントハンドラ割り当てたり、拡張メソッドにthis指定しろとか言う言語だからなぁ
ちがう機能には違うキーワード割り当てる方が初心者むきだぞ
今となっては使わない方がいいレガシー機能とか初学者に教える必要ないし
キーワード増やしたくないって結果が
+=でイベントハンドラ割り当てたり、拡張メソッドにthis指定しろとか言う言語だからなぁ
ちがう機能には違うキーワード割り当てる方が初心者むきだぞ
今となっては使わない方がいいレガシー機能とか初学者に教える必要ないし
101デフォルトの名無しさん
2016/09/03(土) 21:31:23.31ID:+/rHmoaE >>76みたいにVBA経験者ならVB.NETの方が敷居は低いだろうね
102デフォルトの名無しさん
2016/09/03(土) 21:37:06.88ID:NvN4PBVL そうかな
雰囲気が似てるだけの全くの別物だから、ちゃんと「プログラミング」として入門し直すにはVBAの知識なんか邪魔になるだけだと思うが
雰囲気が似てるだけの全くの別物だから、ちゃんと「プログラミング」として入門し直すにはVBAの知識なんか邪魔になるだけだと思うが
103デフォルトの名無しさん
2016/09/04(日) 02:55:14.23ID:oi9Vguju なんで初心者でない体の物言いばかりなの?
まるで説得力が感じられない
自分の身の丈に合った目線で話せば良いのに
まるで説得力が感じられない
自分の身の丈に合った目線で話せば良いのに
104デフォルトの名無しさん
2016/09/04(日) 03:25:42.67ID:Gen1hrWU <sammary>タグ中に<para>いれてもxmlドキュメントで改行できないんだけど、仕様?
VS2012ね
VS2012ね
105デフォルトの名無しさん
2016/09/04(日) 03:32:24.20ID:X56x4opT 自分の場合AccessVBAですが、その知識が邪魔になった事はありませんね
VB6というかVisualStudio6.0の知識(仕様)が邪魔になった事はあります
基本的にVBAやVB6で培った知識は役に立ってますよ
また、似てる似てないはVBAからVB.NETへの移植をやると似てるのが良く分かります
稀なケースですが関数の中身をそのまま新メソッドに張り付けるだけで動く事もあります
VB6というかVisualStudio6.0の知識(仕様)が邪魔になった事はあります
基本的にVBAやVB6で培った知識は役に立ってますよ
また、似てる似てないはVBAからVB.NETへの移植をやると似てるのが良く分かります
稀なケースですが関数の中身をそのまま新メソッドに張り付けるだけで動く事もあります
106デフォルトの名無しさん
2016/09/04(日) 07:58:22.83ID:S0F7Ntiy まぁVBとVBAは全くの別物ってことはないな。
ただ、まずVBAだけやっていた場合はクラスを使って
ポリモーフィズムで、
とかそんなところにすら至れない人が多い。
.NetやっててVBAの改修作業とかたまにやると
まるでコードのステップ数の多さをドヤ顏で自慢するかのような関数とか平気で作られていて
ストレスが溜まることもよくある。
ただ、今の仕事場でjavaで作られているシステムは1メソッド5000行とか有ったりするので
改修するとき作った奴に殺意を覚えたりするけどね。
ただ、まずVBAだけやっていた場合はクラスを使って
ポリモーフィズムで、
とかそんなところにすら至れない人が多い。
.NetやっててVBAの改修作業とかたまにやると
まるでコードのステップ数の多さをドヤ顏で自慢するかのような関数とか平気で作られていて
ストレスが溜まることもよくある。
ただ、今の仕事場でjavaで作られているシステムは1メソッド5000行とか有ったりするので
改修するとき作った奴に殺意を覚えたりするけどね。
107デフォルトの名無しさん
2016/09/04(日) 08:33:24.52ID:jyxhfMV3108デフォルトの名無しさん
2016/09/04(日) 12:24:52.05ID:Gen1hrWU109デフォルトの名無しさん
2016/09/04(日) 17:33:53.38ID:XyhAhLc0 VB.NETもC#も、東北弁と九州弁の違いでしかないだろ
似たり寄ったり
C++も使える俺だけど、C#ってもVBみたいに感じる
特に変数の扱い(解放)に不安を感じる
似たり寄ったり
C++も使える俺だけど、C#ってもVBみたいに感じる
特に変数の扱い(解放)に不安を感じる
110デフォルトの名無しさん
2016/09/04(日) 17:35:13.39ID:XyhAhLc0 VBにのみあるWith〜End Withは素直に便利だと思う
111デフォルトの名無しさん
2016/09/04(日) 17:44:16.26ID:dsyWzBSS >>110
つ My
つ My
112デフォルトの名無しさん
2016/09/04(日) 18:11:43.89ID:EvCJbTcD >>110
むしろあってもいいけどなくてもいい機能だねw
オブジェクト初期化子が使えるケースが大半だろうし。
WithevemtsとHandlesの仕組みはC#にもあったら便利だと思う。
C#の==の既定の実装は変だと思う。これはVBの仕様の方が優れてるね。
あと、細かいことだけど、C#はフィールドを宣言と同時に初期化する時、インスタンスメンバーを
使えないとか、構造体のプロパティをコンストラクタで初期化できないとか(回避方法はあるが)
もちろん理由はあるんだろうけど奇妙な制約があるけど、VBにはそれがないのはいいね(もちろん弊害もあるんだろうが)
>>111
My爺さんはリソースぐらいしか使わないし、使わない方がいいと思うよw
あえて使う理由がない。
あんなのVBが馬鹿にされる理由の一つになってるだけw
むしろあってもいいけどなくてもいい機能だねw
オブジェクト初期化子が使えるケースが大半だろうし。
WithevemtsとHandlesの仕組みはC#にもあったら便利だと思う。
C#の==の既定の実装は変だと思う。これはVBの仕様の方が優れてるね。
あと、細かいことだけど、C#はフィールドを宣言と同時に初期化する時、インスタンスメンバーを
使えないとか、構造体のプロパティをコンストラクタで初期化できないとか(回避方法はあるが)
もちろん理由はあるんだろうけど奇妙な制約があるけど、VBにはそれがないのはいいね(もちろん弊害もあるんだろうが)
>>111
My爺さんはリソースぐらいしか使わないし、使わない方がいいと思うよw
あえて使う理由がない。
あんなのVBが馬鹿にされる理由の一つになってるだけw
113デフォルトの名無しさん
2016/09/04(日) 18:14:32.84ID:EvCJbTcD あと、言語としてのVBとは関係ないけど、アプリケーションフレームワークで
結構使える機能あるよね。
これなんかC#から使えたら便利だと思うんだけど
http://www.atmarkit.co.jp/fdotnet/dotnettips/663nextinstarg/nextinstarg.html
結構使える機能あるよね。
これなんかC#から使えたら便利だと思うんだけど
http://www.atmarkit.co.jp/fdotnet/dotnettips/663nextinstarg/nextinstarg.html
114デフォルトの名無しさん
2016/09/09(金) 01:12:27.23ID:1/vZZaq6 VB.net固有ではないかもしれませんが、
VB.netを学習しているのでこちらで質問させていただきます。
Linq to EntityでJoinやGroupJoinなど
リレーションを定義したメソッド用意しようと思っています。
(Linqでリレーションを毎度記述するのはめんどくさいので一か所で済ませたい)
その際、IQueryableで返したいんですけど例えば2つのテーブルを結合したときに、
IQueryable(匿名型)は返せないしIQueryable(Of Tuple(Of Table1,Table2)も無理そうなので
Table1とTable2のプロパティを持ったJoinTableクラスみたいなのを作って
IQueryable(Of JoinTable)にすればできるんですが、
これだけのためクラスを作るのは何となくしっくりこないんです。
この方法しかないでしょうか?
(Code Firstでのテーブルクラスの外部キーでのリレーションや
Fluent APIでのリレーション以外で)
VB.netを学習しているのでこちらで質問させていただきます。
Linq to EntityでJoinやGroupJoinなど
リレーションを定義したメソッド用意しようと思っています。
(Linqでリレーションを毎度記述するのはめんどくさいので一か所で済ませたい)
その際、IQueryableで返したいんですけど例えば2つのテーブルを結合したときに、
IQueryable(匿名型)は返せないしIQueryable(Of Tuple(Of Table1,Table2)も無理そうなので
Table1とTable2のプロパティを持ったJoinTableクラスみたいなのを作って
IQueryable(Of JoinTable)にすればできるんですが、
これだけのためクラスを作るのは何となくしっくりこないんです。
この方法しかないでしょうか?
(Code Firstでのテーブルクラスの外部キーでのリレーションや
Fluent APIでのリレーション以外で)
115デフォルトの名無しさん
2016/09/09(金) 02:21:34.21ID:SJ+T/DWk116デフォルトの名無しさん
2016/09/09(金) 20:33:17.26ID:VuAPiSR8 ふつうリレーションがあるなら、そのエンティティにリレーション定義すると思うんだが
何がしたいのか全く分からん
何がしたいのか全く分からん
117114
2016/09/11(日) 22:13:12.60ID:09WdZpzt ちょっと質問がイミフでした。
MVCとかMVVMのMでEntityFrameworkを使って
DB関係のロジックをうまいことコーディングしたかったんだけど
もうちょっとアプローチを変えてきちんと整理してから
改めて質問いたします。すいませんでした。
MVCとかMVVMのMでEntityFrameworkを使って
DB関係のロジックをうまいことコーディングしたかったんだけど
もうちょっとアプローチを変えてきちんと整理してから
改めて質問いたします。すいませんでした。
118デフォルトの名無しさん
2016/09/22(木) 21:07:27.78ID:lsqp5FOM カスタムコントロールにビジネス上の知識を持たせるのって有りですか?
商品コードは特定の正規表現を満たす文字列であるというビジネスルールがあるとします
@正規表現による検証ができるテキストボックスを作り商品コードを扱う各画面に配置してデザイナで商品コードの正規表現を設定する
A商品コード専用のテキストボックスを作る
@はコントロールがビジネスルールを直接知らなくて良いのでUIとビジネス層が疎結合ですが各画面に商品コードの正規表現を設定する手間がかかります
Aは製造もメンテナンスも楽ですがUIがビジネスの知識を持つ必要があり結合が強まります
商品コードは特定の正規表現を満たす文字列であるというビジネスルールがあるとします
@正規表現による検証ができるテキストボックスを作り商品コードを扱う各画面に配置してデザイナで商品コードの正規表現を設定する
A商品コード専用のテキストボックスを作る
@はコントロールがビジネスルールを直接知らなくて良いのでUIとビジネス層が疎結合ですが各画面に商品コードの正規表現を設定する手間がかかります
Aは製造もメンテナンスも楽ですがUIがビジネスの知識を持つ必要があり結合が強まります
119デフォルトの名無しさん
2016/09/22(木) 21:55:50.74ID:khANt+EO ドンチュー シンク ソー インディーズ レキシカル コンストラント アンド ビジネスルール?
120デフォルトの名無しさん
2016/09/22(木) 21:57:28.36ID:ouE1p1JD 検証するコントロールなりクラスなり作って、必要ならそれがテキストボックスの参照持つのが本筋の気はするけど
どこまでUIとロジックの分離をするのかと
ビジネスロジックと定型フォーマットチェック程度の一般的なロジックなのかの切り分けどう考えるかじゃね
個人的にはビジネスロジックを含んだUIパーツがあってもよいと思うけど
どこまでUIとロジックの分離をするのかと
ビジネスロジックと定型フォーマットチェック程度の一般的なロジックなのかの切り分けどう考えるかじゃね
個人的にはビジネスロジックを含んだUIパーツがあってもよいと思うけど
121デフォルトの名無しさん
2016/09/23(金) 02:12:52.23ID:gxk7d5Lf122デフォルトの名無しさん
2016/09/23(金) 02:31:01.60ID:h98BTTsU123デフォルトの名無しさん
2016/09/23(金) 02:34:00.44ID:h98BTTsU あ、ちょっと説明が足りなかったけど、要するにこの場合は
カスタムコントトールがビジネスロジック側の適当なクラスにある、検証に必要な正規表現パターンを返す
静的プロパティか何かを参照するだけ。
カスタムコントトールがビジネスロジック側の適当なクラスにある、検証に必要な正規表現パターンを返す
静的プロパティか何かを参照するだけ。
124デフォルトの名無しさん
2016/09/23(金) 12:43:42.35ID:O2gBGGU9125デフォルトの名無しさん
2016/09/23(金) 12:50:22.34ID:nupyc52F126デフォルトの名無しさん
2016/09/23(金) 12:53:21.42ID:o2Q2dMOD そもそも正規表現で制御出来るような単純な字句的制約はビジネスルールとは言わん
それとも数値専用のテキストボックスですらビジネスルールだからUIから分離すべきとでも言う気か
それとも数値専用のテキストボックスですらビジネスルールだからUIから分離すべきとでも言う気か
127デフォルトの名無しさん
2016/09/23(金) 13:14:59.72ID:4DXYL/D0 InputManで解決
128デフォルトの名無しさん
2016/09/23(金) 13:27:44.13ID:nupyc52F129デフォルトの名無しさん
2016/09/23(金) 13:31:47.45ID:nupyc52F あと、数値だって上限下限があるとか、特定の数値は不可とか、
固有のルールはいろいろありうるよね
固有のルールはいろいろありうるよね
130デフォルトの名無しさん
2016/09/23(金) 13:35:38.72ID:o2Q2dMOD131デフォルトの名無しさん
2016/09/23(金) 13:37:43.52ID:o2Q2dMOD132デフォルトの名無しさん
2016/09/23(金) 13:45:53.84ID:nupyc52F133デフォルトの名無しさん
2016/09/23(金) 13:49:14.26ID:k2scBugP 画面に配置する度にテキストボックスに何が入力されるのかを判断してデザイナから正規表現を設定したりLoadイベントで検証オブジェクトを注入したりはめんどくさい
型が分かってるなら○○型用テキストボックスを作って配置するだけにした方が簡単だと思う
でもなんとなくUIが知識を持ちすぎてるように感じて気持ちは良くない
型が分かってるなら○○型用テキストボックスを作って配置するだけにした方が簡単だと思う
でもなんとなくUIが知識を持ちすぎてるように感じて気持ちは良くない
134デフォルトの名無しさん
2016/09/23(金) 13:49:46.76ID:o2Q2dMOD135デフォルトの名無しさん
2016/09/23(金) 13:52:03.90ID:nupyc52F >>134
まったくわからない
まったくわからない
136デフォルトの名無しさん
2016/09/23(金) 13:58:45.95ID:o2Q2dMOD >>135
そうか、じゃあこれはどうだ
ユーザーが入力したものはあくまでもキャラクタコードの羅列にすぎない
当然ビジネスロジック側が扱える値として評価出来ないようなデタラメなものも含んでいる
それをビジネスロジックが望む値として評価出来るようにするまでがUIコントロールのもつ役割
それ以降の値の持つ意味的な制約をコントロールするのはビジネスロジックの仕事
そうか、じゃあこれはどうだ
ユーザーが入力したものはあくまでもキャラクタコードの羅列にすぎない
当然ビジネスロジック側が扱える値として評価出来ないようなデタラメなものも含んでいる
それをビジネスロジックが望む値として評価出来るようにするまでがUIコントロールのもつ役割
それ以降の値の持つ意味的な制約をコントロールするのはビジネスロジックの仕事
137デフォルトの名無しさん
2016/09/23(金) 14:08:32.32ID:nupyc52F >>136
言いたいことはわからないでもないが、例えば現実の問題としては
入力したユーザーIDが不適切な場合はダイアログのOKボタンをクリックする前に
ErrorProviderか何かで通知するか、そもそも入力できないようにして欲しい、
という要望があったりする。
繰り返しになるけど、そもそも論として、ビジネスロジック側がUIに依存したらおかしいが、
UIがビジネスロジックに依存しても何もおかしくない。
言いたいことはわからないでもないが、例えば現実の問題としては
入力したユーザーIDが不適切な場合はダイアログのOKボタンをクリックする前に
ErrorProviderか何かで通知するか、そもそも入力できないようにして欲しい、
という要望があったりする。
繰り返しになるけど、そもそも論として、ビジネスロジック側がUIに依存したらおかしいが、
UIがビジネスロジックに依存しても何もおかしくない。
138デフォルトの名無しさん
2016/09/23(金) 14:17:08.23ID:o2Q2dMOD139デフォルトの名無しさん
2016/09/23(金) 14:18:54.66ID:k2scBugP >>136
ビジネスロジックが求める形式はビジネスロジックしか知らないはずだけど
ビジネスロジックが求める形式はビジネスロジックしか知らないはずだけど
140デフォルトの名無しさん
2016/09/23(金) 14:20:55.08ID:AqTRNsCZ 入力項目をファクトリから生成するようにして
ロジックの配下におけばいい
ロジックの配下におけばいい
141デフォルトの名無しさん
2016/09/23(金) 14:22:49.17ID:o2Q2dMOD142デフォルトの名無しさん
2016/09/23(金) 14:31:36.51ID:k2scBugP >>141
コード値のプレフィックスを見て処理を分岐するとか
文字列の形式がビジネスロジックに影響する例は探せばいくらでもあると思うけど?
もちろんプログラム設計が悪いとかじゃなくそういう要件が現実にあるって話で
コード値のプレフィックスを見て処理を分岐するとか
文字列の形式がビジネスロジックに影響する例は探せばいくらでもあると思うけど?
もちろんプログラム設計が悪いとかじゃなくそういう要件が現実にあるって話で
143デフォルトの名無しさん
2016/09/23(金) 14:34:06.56ID:nupyc52F144デフォルトの名無しさん
2016/09/23(金) 14:38:06.66ID:o2Q2dMOD >>142
その例の場合は、たまたま、というか確かに現実的に多用される手法だけど
値の意味を文字列の形式で表わす様に設計されたコードである
為にロジック的に文字列の形式を評価して分岐しているように見えるというだけで
原則的にビジネスロジックが判断してるのは値の意味なんよ
その例の場合は、たまたま、というか確かに現実的に多用される手法だけど
値の意味を文字列の形式で表わす様に設計されたコードである
為にロジック的に文字列の形式を評価して分岐しているように見えるというだけで
原則的にビジネスロジックが判断してるのは値の意味なんよ
145デフォルトの名無しさん
2016/09/23(金) 14:38:15.25ID:nupyc52F 今時webのUIだって、入力した値が不適切なら入力した段階で教えてくれるよね。
146デフォルトの名無しさん
2016/09/23(金) 14:39:23.90ID:o2Q2dMOD >>143
おいおいプログラムを綺麗に書きたくて議論してたんじゃないのかよw
おいおいプログラムを綺麗に書きたくて議論してたんじゃないのかよw
147デフォルトの名無しさん
2016/09/23(金) 14:42:38.64ID:nupyc52F >>146
こちらはプログラムを綺麗に(可読的かつ後の修正に耐えるように)
UIがビジネスロジック側から提供される入力検証用のロジックを参照せよと言っている。
君が言っているのは、そもそもUI側でビジネスロジックべったりの入力検証なんかするなという話。
それはただの現実の要求を無視したただの怠惰だ。
こちらはプログラムを綺麗に(可読的かつ後の修正に耐えるように)
UIがビジネスロジック側から提供される入力検証用のロジックを参照せよと言っている。
君が言っているのは、そもそもUI側でビジネスロジックべったりの入力検証なんかするなという話。
それはただの現実の要求を無視したただの怠惰だ。
148デフォルトの名無しさん
2016/09/23(金) 14:47:02.61ID:o2Q2dMOD149デフォルトの名無しさん
2016/09/23(金) 14:48:40.29ID:k2scBugP >>144
たまたま文字列じゃなくて
まんまドキュメントにナントカのIDは先頭がこの文字で何桁のハイフン区切りでハイフンの後ろを取り除いたら親ナントカのIDに一致する文字列ですみたいなことが書いてあったりする
これはプログラミングで必要だからそうなったものではなく実際にエンドユーザーがそういう認識でナントカIDを認識、運用している
これはどうみたって見た目の問題じゃなくビジネスロジックじゃないかな?
たまたま文字列じゃなくて
まんまドキュメントにナントカのIDは先頭がこの文字で何桁のハイフン区切りでハイフンの後ろを取り除いたら親ナントカのIDに一致する文字列ですみたいなことが書いてあったりする
これはプログラミングで必要だからそうなったものではなく実際にエンドユーザーがそういう認識でナントカIDを認識、運用している
これはどうみたって見た目の問題じゃなくビジネスロジックじゃないかな?
150デフォルトの名無しさん
2016/09/23(金) 14:49:56.75ID:nupyc52F >>148
じゃあ延々何を言ってるわけ?w
じゃあ延々何を言ってるわけ?w
151デフォルトの名無しさん
2016/09/23(金) 14:54:34.72ID:o2Q2dMOD >>149
うん、ユーザーは字句表現と値の意味を区別するって意識がそもそもないからな
でも開発者はそこから字句表現と値の意味を分離してビジネスロジックの本来的な意味を
読みとらないとゴチャゴチャと整理されないままの融通の利かないいわゆる
「使えないシステム」が出来あがる
うん、ユーザーは字句表現と値の意味を区別するって意識がそもそもないからな
でも開発者はそこから字句表現と値の意味を分離してビジネスロジックの本来的な意味を
読みとらないとゴチャゴチャと整理されないままの融通の利かないいわゆる
「使えないシステム」が出来あがる
152デフォルトの名無しさん
2016/09/23(金) 14:58:31.27ID:o2Q2dMOD >>150
少し話が展開しすぎたから俺もよくわからんw
少し話が展開しすぎたから俺もよくわからんw
153デフォルトの名無しさん
2016/09/23(金) 17:47:43.12ID:O2gBGGU9 >>137
>UIがビジネスロジックに依存しても何もおかしくない
別にお前の意見に意義があるわけでなないんだが
UIパーツ(全体としてのUIではなく、あくまでUIを構成するパーツな)の再利用性についてどう考えてるのか教えてくれ
>UIがビジネスロジックに依存しても何もおかしくない
別にお前の意見に意義があるわけでなないんだが
UIパーツ(全体としてのUIではなく、あくまでUIを構成するパーツな)の再利用性についてどう考えてるのか教えてくれ
154153
2016/09/23(金) 17:51:38.54ID:O2gBGGU9 ×意義
○異議
な。意義がないとか、全否定してるみたいだから訂正しとく
○異議
な。意義がないとか、全否定してるみたいだから訂正しとく
155デフォルトの名無しさん
2016/09/23(金) 18:00:12.62ID:pqhQamNt156デフォルトの名無しさん
2016/09/23(金) 18:04:25.83ID:O2gBGGU9■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★4 [ぐれ★]
- 【音楽】Perfume・あ~ちゃんの結婚相手「一般男性」は吉田カバンの社長・吉田幸裕氏(41) 高身長で山本耕史似 [Ailuropoda melanoleuca★]
- 【大分】佐賀関で大規模火災、170棟以上が延焼中 70代男性1人と連絡取れず [ぐれ★]
- 【サッカー】日本代表MF 中村敬斗 ボリビア戦のスーパーゴールに「惚れるわ」「痺れる程のゴールこれでご飯何杯いけるのよ」 [阿弥陀ヶ峰★]
- 【サッカー】U-17日本代表、激闘PK戦制す 北朝鮮撃破で6大会ぶり8強入り U17W杯 [久太郎★]
- 「クマはなるべく山に返す努力を」「クマと戦争は間違っている」動物保護活動家の主張 棲み分けと学習放獣でクマ被害なくなるのか?★7 [ぐれ★]
- アンケート調査で「高市発言は問題なし」 93.5%wwwwwwwwwwwwwwwwwwwwwwwww [279254606]
- 【悲報】大分市佐賀関の火事、20軒→170軒に延焼🔥 [481941988]
- 自閉症が「んなっしょい」と連呼するお🏡
- 日本人の海外旅行したきのマナーよくなったのはいつから
- へそグリグリ
- 結婚しないやつは異性は嫌いなの?
