おらの群馬さにはIISなんてねえもんでりなっくすさ使ってしぃしゃーぷさ動かすべえな
こんなの動くなんておったまげえな時代だわな
んだいくべえ
.Net Core / Net ASP Core [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
2016/06/30(木) 03:45:41.80ID:EQd6Pds5
332デフォルトの名無しさん
2017/12/10(日) 11:14:17.45ID:kvXnKVDw システム運用開始後に運用者側でモデルを変更したいって話?
それは俺も今考えててデータはJSONで保存してビュー側でJSONのないようにて
動的にテンプレート変更するしかないのかな状態。
それは俺も今考えててデータはJSONで保存してビュー側でJSONのないようにて
動的にテンプレート変更するしかないのかな状態。
333デフォルトの名無しさん
2017/12/10(日) 11:16:34.18ID:1RSLLPBx fat modelを実装したい←意味わからん
設計ミスってfat modelになってしまった←意味わかる
失敗した結果をfat modelという
それをなんで実装したいの?
設計ミスってfat modelになってしまった←意味わかる
失敗した結果をfat modelという
それをなんで実装したいの?
334デフォルトの名無しさん
2017/12/10(日) 15:56:56.62ID:0U7F95ib ああ、なんかスマン、煽り気味に書いたのに割とマジな回答も貰っちまって微妙な気分。
LL言語系FWのMVCモデルでユニットテストを書きやすくするため、単純なInputに対して単純なOutputを返す"モデル"に実装を寄せる考え方をモデルファットって言うのね。
Rails系が流行ったあたりから今も変わらない、所謂Web系の皆さんの基本アプローチになってて。
ASP.Net MVCを触ってて、MS世界というかASPの思想上には無い概念だ、というのは分かった。
ただ俺の都合として、社内でRails系FWに慣れ親しんだ連中をこっちに誘導したいわけですわ。
よって昔ながらのFWにある機能は一通り用意した、ASP版FWを当てがってやるつもりでいる。
その一環でスキャッフォルド機能も実装中だった、というわけです。
LL言語系FWのMVCモデルでユニットテストを書きやすくするため、単純なInputに対して単純なOutputを返す"モデル"に実装を寄せる考え方をモデルファットって言うのね。
Rails系が流行ったあたりから今も変わらない、所謂Web系の皆さんの基本アプローチになってて。
ASP.Net MVCを触ってて、MS世界というかASPの思想上には無い概念だ、というのは分かった。
ただ俺の都合として、社内でRails系FWに慣れ親しんだ連中をこっちに誘導したいわけですわ。
よって昔ながらのFWにある機能は一通り用意した、ASP版FWを当てがってやるつもりでいる。
その一環でスキャッフォルド機能も実装中だった、というわけです。
335デフォルトの名無しさん
2017/12/10(日) 16:21:23.96ID:1RSLLPBx モデルファットじゃなくファットモデルな
ファットコントローラーを嫌ってモデルに処理を移動したのはいいが
単にモデルを巨大化させただけでファットコントローラーとやってること同じじゃんっていうやつね
ファットモデルになってしまったという事はあるけど狙ってファットモデルにするって事はありえないよ
なのでそれをサポートするフレームワークも当然ありえない
ファットコントローラーを嫌ってモデルに処理を移動したのはいいが
単にモデルを巨大化させただけでファットコントローラーとやってること同じじゃんっていうやつね
ファットモデルになってしまったという事はあるけど狙ってファットモデルにするって事はありえないよ
なのでそれをサポートするフレームワークも当然ありえない
336デフォルトの名無しさん
2017/12/10(日) 17:07:27.42ID:W8sE4xgH Rails触ってれば幸せだと思うよ
337デフォルトの名無しさん
2017/12/10(日) 17:08:54.50ID:QtRE0gJ3 >>334
勝手に基本アプローチにすんなよw
勝手に基本アプローチにすんなよw
338デフォルトの名無しさん
2017/12/10(日) 17:40:41.52ID:AsjcCxkl スキャフォールドはリバースエンジニアリングでもリファクタリングでもないだろう
スキャをどうこうじゃなくて、リファクタリング系の充実を望むって話じゃないか
スキャをどうこうじゃなくて、リファクタリング系の充実を望むって話じゃないか
339デフォルトの名無しさん
2017/12/10(日) 17:46:47.12ID:PwMUUUtC なんでそういう無意味なことをするのかが理解できん
頭悪そう
頭悪そう
340デフォルトの名無しさん
2017/12/10(日) 18:23:41.80ID:0U7F95ib なんのかの言うだけでネタはねーのかよショボチンやなー
結局ご本家ソース読んでたら出来ちまったわ
しっかし、モデルを太らず実装を拒絶するMVCerってのは正直生まれて初めて見たな...ちゃんとテスト書いてのかよw
太り過ぎたら分割すりゃいいし、分割するにもController分割よかずっと楽だろうに
Identityのソースでもやってる実装やし、別にフツーのことやぞ?
結局ご本家ソース読んでたら出来ちまったわ
しっかし、モデルを太らず実装を拒絶するMVCerってのは正直生まれて初めて見たな...ちゃんとテスト書いてのかよw
太り過ぎたら分割すりゃいいし、分割するにもController分割よかずっと楽だろうに
Identityのソースでもやってる実装やし、別にフツーのことやぞ?
341デフォルトの名無しさん
2017/12/10(日) 18:41:31.13ID:1RSLLPBx >>340
君のなにが悪かったかっていうとモデルファットと言ってしまったことだよ
そもそもモデルファットじゃなくファットモデルというのは見逃すとしても
ファットモデルってのはファットコントローラーと同じアンチパターンのこと
それを当たり前の王道みたいな風に言ったからおかしなことになった
コントローラーから処理を抽出してモデル(サービス)に移動するのは当たり前の王道
ファットモデルはその王道をよく理解せずにコントローラーに無ければいいんだろ?と考えなしにモデルを拡張して破滅するアンチパターンのことを言う
君のなにが悪かったかっていうとモデルファットと言ってしまったことだよ
そもそもモデルファットじゃなくファットモデルというのは見逃すとしても
ファットモデルってのはファットコントローラーと同じアンチパターンのこと
それを当たり前の王道みたいな風に言ったからおかしなことになった
コントローラーから処理を抽出してモデル(サービス)に移動するのは当たり前の王道
ファットモデルはその王道をよく理解せずにコントローラーに無ければいいんだろ?と考えなしにモデルを拡張して破滅するアンチパターンのことを言う
342デフォルトの名無しさん
2018/01/20(土) 12:58:14.78ID:JFYWdVwP .net core 2 でSQLサーバとを連携させて、
スキャフォールディングなどを使ってみたいんですが、
対応しているSQLサーバのバージョンの制限などあるでしょうか。
今、たしかexpressの2010版が動いていると思います。
スキャフォールディングなどを使ってみたいんですが、
対応しているSQLサーバのバージョンの制限などあるでしょうか。
今、たしかexpressの2010版が動いていると思います。
343デフォルトの名無しさん
2018/01/20(土) 13:20:46.75ID:ea7nxeEz >>342
たぶんEntityFramework Coreのことだよね?SQL Serverなら2008以降が対応してる
たぶんEntityFramework Coreのことだよね?SQL Serverなら2008以降が対応してる
344デフォルトの名無しさん
2018/01/20(土) 22:30:41.03ID:JFYWdVwP345デフォルトの名無しさん
2018/01/21(日) 02:02:53.48ID:aa9rOLxw346デフォルトの名無しさん
2018/01/21(日) 10:37:20.74ID:2KGk002L >>345
そういうのもあるんですね。
自分は次の方法です。
DBContextの、FromSqlというメソッドで、
パラメーター付のストアドプロシジャ(SELECT文)も呼び出せるようです。
INSERT UPDATE DELETEは、
EXecuteSqlCommandAsync というメソッドを代わりに使えるようです。
Microsoft.EntityFrameworkCore.Relational パッケージを、導入している必要があるそうです。
どっちのパッケージがいいんでしょうか。
そういうのもあるんですね。
自分は次の方法です。
DBContextの、FromSqlというメソッドで、
パラメーター付のストアドプロシジャ(SELECT文)も呼び出せるようです。
INSERT UPDATE DELETEは、
EXecuteSqlCommandAsync というメソッドを代わりに使えるようです。
Microsoft.EntityFrameworkCore.Relational パッケージを、導入している必要があるそうです。
どっちのパッケージがいいんでしょうか。
347デフォルトの名無しさん
2018/01/21(日) 10:57:34.80ID:xo2ueQrN >>346
それめっちゃ遅いから、ストアドプロシージャならDapperの方がいい
それめっちゃ遅いから、ストアドプロシージャならDapperの方がいい
348デフォルトの名無しさん
2018/01/21(日) 23:20:22.28ID:2KGk002L349デフォルトの名無しさん
2018/01/23(火) 03:24:09.32ID:FupB7284 Apologies for lack of ODP .NET Core status updates. Beta coming very soon.
https://twitter.com/OracleDOTNET/status/955487498922164224
https://twitter.com/OracleDOTNET/status/955487498922164224
350デフォルトの名無しさん
2018/01/23(火) 03:24:32.04ID:FupB7284 やっとくるか
351デフォルトの名無しさん
2018/01/24(水) 11:12:26.60ID:XjzEOcrl BootStrap 4が登場したらしいね
352デフォルトの名無しさん
2018/01/27(土) 11:54:23.36ID:rq4/g8Rc odp.netね
もうポスグレに移行しちゃったよ
脱ORACLEかなり捗った
もうポスグレに移行しちゃったよ
脱ORACLEかなり捗った
353デフォルトの名無しさん
2018/01/27(土) 12:17:19.30ID:9B7m/epT びっくりするくらい遅いな
354デフォルトの名無しさん
2018/01/28(日) 00:21:12.53ID:HyAWtlpX Javaのretrofitみたいな感じでタイプセーフなrest api clientをビルドするためのdot net coreライブラリって無いの?
355デフォルトの名無しさん
2018/01/28(日) 02:51:56.28ID:/plNRlWs >>354
ビルド?
ビルド?
356デフォルトの名無しさん
2018/01/30(火) 09:59:36.41ID:c+kKDM5l >>354
コードジェネレートの話をしています?
コードジェネレートの話をしています?
357デフォルトの名無しさん
2018/02/02(金) 18:51:27.51ID:7qD/+KXW モデルオブジェクトの定義で、
[Table("任意の日本語テーブル名")]属性
[Column("日本語の列名")]属性
は使えるでしょうか。
asp.netでは、説明がありますが、
core2ではどうなのかなと思って。
[Table("任意の日本語テーブル名")]属性
[Column("日本語の列名")]属性
は使えるでしょうか。
asp.netでは、説明がありますが、
core2ではどうなのかなと思って。
358デフォルトの名無しさん
2018/02/02(金) 19:03:37.12ID:0Xio4iDX >>357
EntityFramework Core2.0のことを言ってるんなら使えるよ
EntityFramework Core2.0のことを言ってるんなら使えるよ
359デフォルトの名無しさん
2018/02/02(金) 19:53:34.57ID:mnzsFfcn >>358
わー、さっそくレス頂きありがとうございます
そうです。
EntityFramework Core2.0 のことです。
パッケージ導入して、環境を準備して、
やってみたいと思います。
EntityFramework Core2.0では、規約がものをいうので、日本語のテーブル名、列名を使っているデータベースでも大丈夫なのか不安なのでした。
ハローワールドは成功したので、dbcontext、エンティティ、そしてテストコードを書くところです。
EntityFramework Core2.0って、コードファーストや、データベースファーストを推してくるんですが、そういう自動生成機能って、使わないで、自分で両方の定義をしてもいいのですよね。
皆さんはどういう風にしているのだろうか。
わー、さっそくレス頂きありがとうございます
そうです。
EntityFramework Core2.0 のことです。
パッケージ導入して、環境を準備して、
やってみたいと思います。
EntityFramework Core2.0では、規約がものをいうので、日本語のテーブル名、列名を使っているデータベースでも大丈夫なのか不安なのでした。
ハローワールドは成功したので、dbcontext、エンティティ、そしてテストコードを書くところです。
EntityFramework Core2.0って、コードファーストや、データベースファーストを推してくるんですが、そういう自動生成機能って、使わないで、自分で両方の定義をしてもいいのですよね。
皆さんはどういう風にしているのだろうか。
360デフォルトの名無しさん
2018/02/02(金) 21:30:19.18ID:FQ5FsFAe >>359
DBからコードファースト
DBからコードファースト
361デフォルトの名無しさん
2018/02/02(金) 21:38:01.80ID:FQ5FsFAe SQL-firstってのもある
http://www.thereformedprogrammer.net/ef-core-taking-full-control-of-the-database-schema/
Production環境でのMigrationを考えると、この辺が現実的かな
http://www.thereformedprogrammer.net/ef-core-taking-full-control-of-the-database-schema/
Production環境でのMigrationを考えると、この辺が現実的かな
362デフォルトの名無しさん
2018/02/04(日) 08:29:27.62ID:QYMD/NQL363デフォルトの名無しさん
2018/02/04(日) 11:06:40.73ID:zMXPgQ7i >>362
日本語なんて使うわけないけど、何をそんなに心配してんの?
日本語なんて使うわけないけど、何をそんなに心配してんの?
364デフォルトの名無しさん
2018/02/04(日) 21:58:59.60ID:l4jEutiZ >>362
まさか複数形じゃないとテーブル名として使えないとでも思ってる?
まさか複数形じゃないとテーブル名として使えないとでも思ってる?
365デフォルトの名無しさん
2018/02/04(日) 23:06:57.46ID:QYMD/NQL >>363
sql server 7.0の頃から構築したテーブルで、
日本語のテーブル名と列名が使われているんだよ。
そのままスキャフォールディングするのも心配。
日本語のクラス名とかプロパティーなんて見たくないし。
sql server 7.0の頃から構築したテーブルで、
日本語のテーブル名と列名が使われているんだよ。
そのままスキャフォールディングするのも心配。
日本語のクラス名とかプロパティーなんて見たくないし。
366デフォルトの名無しさん
2018/02/04(日) 23:07:57.43ID:QYMD/NQL >>364
いや、規約から外れていると何か不具合が発生しそうで。
いや、規約から外れていると何か不具合が発生しそうで。
367デフォルトの名無しさん
2018/02/04(日) 23:08:51.68ID:jtpbEfK1 view使えば?
368デフォルトの名無しさん
2018/02/04(日) 23:10:53.16ID:PfVNu0W/ >>366
ドキュメントよく読め
ドキュメントよく読め
369デフォルトの名無しさん
2018/02/05(月) 07:55:09.71ID:yOavcQZS370デフォルトの名無しさん
2018/02/05(月) 07:56:15.21ID:yOavcQZS371デフォルトの名無しさん
2018/02/05(月) 08:53:07.85ID:Nl1w3IZD sqlのviewだと思うが、書き込みは普通にテーブル使うしか無い
どうしても避けたいのならWebAPIでも使うのが最善かも
DBがインストールされたサーバー内だけなら日本語テーブル名問題は起こらないだろうから
その後を全部英文字にすればトラブルフリーに出来るかもしれん
どうしても避けたいのならWebAPIでも使うのが最善かも
DBがインストールされたサーバー内だけなら日本語テーブル名問題は起こらないだろうから
その後を全部英文字にすればトラブルフリーに出来るかもしれん
372デフォルトの名無しさん
2018/02/05(月) 09:02:42.42ID:mbLKcWnp373デフォルトの名無しさん
2018/02/05(月) 18:16:52.57ID:mbLKcWnp374デフォルトの名無しさん
2018/02/06(火) 00:30:12.46ID:Sf4AdKgB >>372
なんか宗教くさい
なんか宗教くさい
375デフォルトの名無しさん
2018/02/06(火) 00:31:20.97ID:Ss12EoFr >>374
表紙の話?
表紙の話?
376デフォルトの名無しさん
2018/02/06(火) 02:09:36.97ID:Sf4AdKgB >>375
うん、でも嫌いではないんだけどね、多分、カバーで隠して読むだろうね
うん、でも嫌いではないんだけどね、多分、カバーで隠して読むだろうね
377デフォルトの名無しさん
2018/02/06(火) 02:22:08.83ID:Ss12EoFr >>376
電子書籍だからカバーもクソもないと思うが
電子書籍だからカバーもクソもないと思うが
378デフォルトの名無しさん
2018/02/06(火) 22:06:09.44ID:Sf4AdKgB >>377
アマゾンでは紙本だったよ
アマゾンでは紙本だったよ
379デフォルトの名無しさん
2018/02/06(火) 22:07:06.60ID:Ss12EoFr >>378
ごめん
ごめん
380デフォルトの名無しさん
2018/02/07(水) 03:10:06.91ID:PMKzxqpw ASP.NET MVC の 知識ってほとんどそのまま、.net core MVC で通用すると考えていいのかな?
381デフォルトの名無しさん
2018/02/07(水) 05:24:08.06ID:geKdTjxk そのままではないけど、すぐになじむとは思うよ
382デフォルトの名無しさん
2018/02/07(水) 13:16:27.18ID:Dhak1qt/ >>379
大丈夫
大丈夫
383デフォルトの名無しさん
2018/02/10(土) 00:32:08.18ID:Iv+szGNR スキャホールディングしなくても、それが出力するようなコードを、
モデルと、DbContextに自分で全部書き起こせば、
データベーステーブルでテーブルの結合したやつでも得られるんだろうか。
データベースでリレーションの設定をしていないので、スキャホールディングでテーブル結合反映されないため、
自分でコードを記述しようと思っているんです。
データベース側は既存のプログラムとの連携が壊れたら困るのでいじりたくありません。。
モデルと、DbContextに自分で全部書き起こせば、
データベーステーブルでテーブルの結合したやつでも得られるんだろうか。
データベースでリレーションの設定をしていないので、スキャホールディングでテーブル結合反映されないため、
自分でコードを記述しようと思っているんです。
データベース側は既存のプログラムとの連携が壊れたら困るのでいじりたくありません。。
384デフォルトの名無しさん
2018/02/10(土) 06:53:12.80ID:KnoefXX3 業務系は複雑怪奇なレガシーDBの呪縛があるからEFとの相性が最悪
SQLを手で書いてDapperでマップするのが正解だよ
SQLを手で書いてDapperでマップするのが正解だよ
385デフォルトの名無しさん
2018/02/10(土) 08:43:26.95ID:X+3+SRz3 壊してもいいデータベースで開発したら?
386デフォルトの名無しさん
2018/02/10(土) 11:53:53.43ID:Iv+szGNR387デフォルトの名無しさん
2018/02/10(土) 14:09:18.74ID:xv5r03JM >>386
ストアドプロシージャとパラメーター使えるよ
ストアドプロシージャとパラメーター使えるよ
388デフォルトの名無しさん
2018/02/10(土) 17:39:31.77ID:Iv+szGNR >>387
ありがとうございます
ありがとうございます
389デフォルトの名無しさん
2018/02/11(日) 15:30:58.53ID:NLXiui3Z Dapperでは、SQLやストアドプロシジャの結果行に対応したモデルクラスに、
マッピングできるのだとわかってきました。
自分のところのストアドプロシジャでは、テーブルにはない新しい列が登場したり、列の名称が付替られたりするので、
ストアドプロシジャの結果行に対応した専用のクラスをいちいち作成しようと思いました。
ストアドプロシジャでは最終的に、SELECT文で出力したい列が列挙されています。
対応するクラスのプロパティー名(日本語)と列名(日本語)を一致させておけば、
列挙の順番は関係ないでしょうか。
マッピングできるのだとわかってきました。
自分のところのストアドプロシジャでは、テーブルにはない新しい列が登場したり、列の名称が付替られたりするので、
ストアドプロシジャの結果行に対応した専用のクラスをいちいち作成しようと思いました。
ストアドプロシジャでは最終的に、SELECT文で出力したい列が列挙されています。
対応するクラスのプロパティー名(日本語)と列名(日本語)を一致させておけば、
列挙の順番は関係ないでしょうか。
390デフォルトの名無しさん
2018/02/11(日) 15:41:40.43ID:NBX6x1Ct >>389
え、日本語?
え、日本語?
391デフォルトの名無しさん
2018/02/11(日) 15:53:15.39ID:QgiY6BS8392デフォルトの名無しさん
2018/02/11(日) 21:30:20.43ID:NLXiui3Z393デフォルトの名無しさん
2018/02/11(日) 23:27:37.20ID:NLXiui3Z >>390
列名が日本語で書かれているんですよ。
select ID,名称 from ほにゃらら
みたいな感じでデータを引っ張って来る必要があるので、
マッピングするC#クラスのプロパティーも、こういうのに合わせる必要があるわけなんです。
日本人なら分かり易いというメリットはあるんですが、
システム上の互換性でいつか面倒なことにならないかと心配しますね。
列名が日本語で書かれているんですよ。
select ID,名称 from ほにゃらら
みたいな感じでデータを引っ張って来る必要があるので、
マッピングするC#クラスのプロパティーも、こういうのに合わせる必要があるわけなんです。
日本人なら分かり易いというメリットはあるんですが、
システム上の互換性でいつか面倒なことにならないかと心配しますね。
394デフォルトの名無しさん
2018/02/11(日) 23:53:51.87ID:YeNWUzxx >>393
列名とプロパティ名はこんな感じでマッピングさせる手もある
https://github.com/tmsmith/Dapper-Extensions/wiki/Customized-mapping-for-a-class
列名とプロパティ名はこんな感じでマッピングさせる手もある
https://github.com/tmsmith/Dapper-Extensions/wiki/Customized-mapping-for-a-class
395デフォルトの名無しさん
2018/02/12(月) 08:53:13.20ID:BsV1rQ8t >>394
ありがとうございます。
なるほど、そうすれば英語表記のモデルクラスが使えるということですね。
日本語クラス名、プロパティー名で結構だというのなら、使う必要はないという理解でいいのかな?
ところでこれは、DBContextの、関連付けとちょっと似ていますね。
メソッドチェーンしながら、ラムダ式を与えて、エンティティーの定義を行っていました。
ありがとうございます。
なるほど、そうすれば英語表記のモデルクラスが使えるということですね。
日本語クラス名、プロパティー名で結構だというのなら、使う必要はないという理解でいいのかな?
ところでこれは、DBContextの、関連付けとちょっと似ていますね。
メソッドチェーンしながら、ラムダ式を与えて、エンティティーの定義を行っていました。
396デフォルトの名無しさん
2018/02/12(月) 08:55:15.61ID:BsV1rQ8t397デフォルトの名無しさん
2018/02/12(月) 09:05:51.69ID:Bk9VmC4X sqlのasを使うと簡単だね
ただoracleだとasしても英訳した列名が30文字に収まらない場合がある
DBの物理的な制約を気にしたくないなら
DTOからドメインオブジェクトにマップする時に物理名を論理名に変換すればいいよ
DTOは日本語を含んでよい
ドメインオブジェクトは日本語を含まない
変換処理はC#で手作業で書く
DapperでDTOを取得して変換処理に流し込む
ただoracleだとasしても英訳した列名が30文字に収まらない場合がある
DBの物理的な制約を気にしたくないなら
DTOからドメインオブジェクトにマップする時に物理名を論理名に変換すればいいよ
DTOは日本語を含んでよい
ドメインオブジェクトは日本語を含まない
変換処理はC#で手作業で書く
DapperでDTOを取得して変換処理に流し込む
398デフォルトの名無しさん
2018/02/12(月) 10:06:28.69ID:BsV1rQ8t399デフォルトの名無しさん
2018/02/12(月) 11:47:11.65ID:Bk9VmC4X DapperはSQLの結果セットをDTOにマッピングしてくれるだけ
DTOからドメインオブジェクトへのマッピングは別途用意しなければならない
DTOとドメインオブジェクトを同一視してマッピングを省くことは可能だけど
それをやるとドメインオブジェクトが歪な構造になるのでオススメしない
DTOからドメインオブジェクトへのマッピングは別途用意しなければならない
DTOとドメインオブジェクトを同一視してマッピングを省くことは可能だけど
それをやるとドメインオブジェクトが歪な構造になるのでオススメしない
400デフォルトの名無しさん
2018/02/12(月) 11:52:36.00ID:BsV1rQ8t >>399
>DTOとドメインオブジェクトを同一視
>DTOとドメインオブジェクトを同一視
401デフォルトの名無しさん
2018/02/12(月) 12:16:20.63ID:BsV1rQ8t >DTOとドメインオブジェクトを同一視
自分はその同一視をしていたのかもしれない。これは、アプリの設計に深く関わる問題ですね。
ドメイン駆動アプリ?だかの参考書を読んでいたときのことを思い出しました。
でも知識を使う前に、すっかり忘れていました。
最初、こんなつもりでした。
例えばこんな感じで、モデルクラスを定義して、
自分の場合、データベースの日本語列名に合わせて、日本語のプロパティー名で定義して、
public class 人間
{
public int Id { get; set; }
public string 名前 { get; set; }
}
そして、
SQL Server → Dapper →「人間クラス」
(こうして、人間クラスに行データがマッピングされる。だから、「人間クラス」がDTOでいいのかな。)
で、
ControllerのActionメソッドとかから、この「人間クラス」のオブジェクトにアクセスして、
Viewなりに渡そうとしていました。
ああ、これでは同一視になりますよね。
つづく↓
自分はその同一視をしていたのかもしれない。これは、アプリの設計に深く関わる問題ですね。
ドメイン駆動アプリ?だかの参考書を読んでいたときのことを思い出しました。
でも知識を使う前に、すっかり忘れていました。
最初、こんなつもりでした。
例えばこんな感じで、モデルクラスを定義して、
自分の場合、データベースの日本語列名に合わせて、日本語のプロパティー名で定義して、
public class 人間
{
public int Id { get; set; }
public string 名前 { get; set; }
}
そして、
SQL Server → Dapper →「人間クラス」
(こうして、人間クラスに行データがマッピングされる。だから、「人間クラス」がDTOでいいのかな。)
で、
ControllerのActionメソッドとかから、この「人間クラス」のオブジェクトにアクセスして、
Viewなりに渡そうとしていました。
ああ、これでは同一視になりますよね。
つづく↓
402デフォルトの名無しさん
2018/02/12(月) 12:17:48.80ID:BsV1rQ8t >DTOからドメインオブジェクトへのマッピングは別途用意しなければならない
SQL Server→Dapper→「人間クラス(DTO)」→→(変換)→→「ドメインオブジェクト」
なるほど。>>397でおしゃっていたことが理解できたかも。
DTOまでは、日本語名のクラス名やプロパティーでもOkなわけですね。
しかし、ドメインオブジェクトという形に、変形してアプリに統一性を持たせるべきで、
そのときに(ついでに)、英語に統一すればいいというわけなのか。
もし、私の理解が間違っていなければ、目から鱗でした!
ありがとうございます。もう一度、設計のための参考書を開いてみたいと思います。
勉強したことを使わないうちに、どんどん忘れてしまう。。。。
しかし、こうして、
日本語名から英語名への統一でも、ドメインオブジェクトという考え方が役に立つんですねえ。
ありがとうございます。
SQL Server→Dapper→「人間クラス(DTO)」→→(変換)→→「ドメインオブジェクト」
なるほど。>>397でおしゃっていたことが理解できたかも。
DTOまでは、日本語名のクラス名やプロパティーでもOkなわけですね。
しかし、ドメインオブジェクトという形に、変形してアプリに統一性を持たせるべきで、
そのときに(ついでに)、英語に統一すればいいというわけなのか。
もし、私の理解が間違っていなければ、目から鱗でした!
ありがとうございます。もう一度、設計のための参考書を開いてみたいと思います。
勉強したことを使わないうちに、どんどん忘れてしまう。。。。
しかし、こうして、
日本語名から英語名への統一でも、ドメインオブジェクトという考え方が役に立つんですねえ。
ありがとうございます。
403デフォルトの名無しさん
2018/02/12(月) 12:53:34.77ID:GfEZnF0r >>402
DTOからドメインオブジェクトへの変換は一パターンとは限らない
だからDapperからDTOにマッピングする時点で、c#の規約に沿った形のクラス/プロパティ名にしておくと便利
じゃなきゃAutoMapperすら使えないし
DTOからドメインオブジェクトへの変換は一パターンとは限らない
だからDapperからDTOにマッピングする時点で、c#の規約に沿った形のクラス/プロパティ名にしておくと便利
じゃなきゃAutoMapperすら使えないし
404デフォルトの名無しさん
2018/02/13(火) 13:00:12.61ID:iaxO17aK >>403
どこで、日本語名の列を、英語名のプロパティーに変換するかという問題なんですよね。
SQL Server→Dapper→「人間クラス(DTO)」→→(変換)→→「ドメインオブジェクト」
SQL Server→Dapper→→(変換)→→「人間クラス(DTO)」→ ※ →「ドメインオブジェクト」
ところで、AutoMapperは、上記の※の位置に来るという理解で正しいでしょうか。
どこで、日本語名の列を、英語名のプロパティーに変換するかという問題なんですよね。
SQL Server→Dapper→「人間クラス(DTO)」→→(変換)→→「ドメインオブジェクト」
SQL Server→Dapper→→(変換)→→「人間クラス(DTO)」→ ※ →「ドメインオブジェクト」
ところで、AutoMapperは、上記の※の位置に来るという理解で正しいでしょうか。
405デフォルトの名無しさん
2018/02/13(火) 19:41:40.28ID:3CyK4CdI DBには日本語つかうのに、プログラムに日本語使うのを嫌がるのが理解できん
406デフォルトの名無しさん
2018/02/13(火) 20:39:57.91ID:ItXL3xp2 >>405
別に質問者は嫌がってなくね?
別に質問者は嫌がってなくね?
407デフォルトの名無しさん
2018/02/13(火) 22:00:43.94ID:JC9fn+CH408デフォルトの名無しさん
2018/02/13(火) 22:02:48.71ID:MkuiJNyl var s = new 🍣();
409デフォルトの名無しさん
2018/02/13(火) 22:25:03.46ID:YVR14H+q カスタムルールはメンテナーがカスタム手順わからなくて困るパターン
手動マッピングなら5分で書けるのにルール設定がわからず1時間ハマりっぱなしとかよくある
手動マッピングなら5分で書けるのにルール設定がわからず1時間ハマりっぱなしとかよくある
410デフォルトの名無しさん
2018/02/14(水) 00:25:23.19ID:ZUhxPQA+411デフォルトの名無しさん
2018/02/16(金) 06:17:18.75ID:W1XJdyx1 ☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆
412デフォルトの名無しさん
2018/02/17(土) 13:05:06.90ID:suX8xbj+ Oracle has updated its .NET Core statement of direction. http://www.oracle.com/technetwork/topics/dotnet/tech-info/odpnet-dotnet-ef-core-sod-4395108.pdf
tl;dr
https://t.co/Zn0Rz2SBM2 Core production in CY Q3 2018. EF Core beta shortly after targeting same quarter.
https://twitter.com/OracleDOTNET/status/964631730220023808
https://twitter.com/OracleDOTNET/status/964632656725008384 👀
Rock54: Caution(BBR-MD5:b73a9cd27f0065c395082e3925dacf01)
tl;dr
https://t.co/Zn0Rz2SBM2 Core production in CY Q3 2018. EF Core beta shortly after targeting same quarter.
https://twitter.com/OracleDOTNET/status/964631730220023808
https://twitter.com/OracleDOTNET/status/964632656725008384 👀
Rock54: Caution(BBR-MD5:b73a9cd27f0065c395082e3925dacf01)
413デフォルトの名無しさん
2018/02/17(土) 13:22:36.50ID:suX8xbj+ サンプルのリポジトリ
https://github.com/oracle/dotnet-db-samples
https://github.com/oracle/dotnet-db-samples
414デフォルトの名無しさん
2018/02/17(土) 13:25:36.07ID:suX8xbj+ EF Coreはまだまだみたいだから、とりあえずDapperで使えればいいや
415デフォルトの名無しさん
2018/02/23(金) 17:48:57.83ID:Vu0TXWr8 Kestrelのhttp2対応ってどの辺までできたのかしら?
416デフォルトの名無しさん
2018/02/27(火) 18:35:57.46ID:XgxJnBY2 kestrel(というかasp.net core)がまだPush対応されてなくて無事死亡
417デフォルトの名無しさん
2018/02/28(水) 09:17:05.58ID:RwB9zj5F 2.1 previewきたな
418デフォルトの名無しさん
2018/02/28(水) 13:23:08.67ID:l/zLj3SM goを触ってからだとビルドとかパッケージ管理とかの遅さが気になって使えない
419デフォルトの名無しさん
2018/02/28(水) 13:31:53.66ID:dHW679Ki 比較すべき対象じゃないから問題ない
420デフォルトの名無しさん
2018/03/07(水) 10:21:49.84ID:CXvHai5s warn: Microsoft.AspNetCore.Server.Kestrel[22]
Heartbeat too longer than "00:00:01" at "03/07/2018 10:00:00 +00:00"
こんな警告が出るんだけどどういう意味?
解決方法教えて
Heartbeat too longer than "00:00:01" at "03/07/2018 10:00:00 +00:00"
こんな警告が出るんだけどどういう意味?
解決方法教えて
421デフォルトの名無しさん
2018/03/07(水) 14:04:09.79ID:gm8YnJy/ threadがデッドロックしてるとかしてない?
422デフォルトの名無しさん
2018/03/07(水) 14:16:35.99ID:gm8YnJy/ それか、ブロッキングコード書きまくってるか
423デフォルトの名無しさん
2018/03/07(水) 20:39:20.58ID:CXvHai5s424デフォルトの名無しさん
2018/03/08(木) 08:01:24.98ID:d+RhIWam425デフォルトの名無しさん
2018/03/14(水) 05:54:49.37ID:lJWHeXYc VS2017で、.net core 2.0 をつかっていたんだけど、
2.1 SDK を入れてみた。
でも、プロジェウト作成で、選べない。
どうすればいい?
2.1 SDK を入れてみた。
でも、プロジェウト作成で、選べない。
どうすればいい?
426デフォルトの名無しさん
2018/03/14(水) 07:07:42.04ID:Ul+PcfeA 先ずは全裸になります
427デフォルトの名無しさん
2018/03/14(水) 07:09:18.85ID:nU+HZj40428デフォルトの名無しさん
2018/03/14(水) 07:10:01.79ID:nU+HZj40 >>426
無理、外にいるから
無理、外にいるから
429デフォルトの名無しさん
2018/03/14(水) 07:30:08.10ID:nU+HZj40 自己レス
https://github.com/dotnet/core/issues/1131
There is no .NET Core 2.1.2. Thats the SDK version. I believe the 2.2 SDK is the one that currently supports .NET Core 2.1 targeting.
なんか、何のバージョンかわからなくなってきた。
sdkのバージョンと、
ランタイムのバージョンがあるのか。
ややこしい。
.net coreランタイムのバージョンが、2.1にならないと、vsで、2.1 のテンプレートが使えないってことかな?
新しいクラスの追加とか、高速化とか、期待していたのになあ。
sdkのバージョンが、2.1 になって何かメリットあるのか?
https://github.com/dotnet/core/issues/1131
There is no .NET Core 2.1.2. Thats the SDK version. I believe the 2.2 SDK is the one that currently supports .NET Core 2.1 targeting.
なんか、何のバージョンかわからなくなってきた。
sdkのバージョンと、
ランタイムのバージョンがあるのか。
ややこしい。
.net coreランタイムのバージョンが、2.1にならないと、vsで、2.1 のテンプレートが使えないってことかな?
新しいクラスの追加とか、高速化とか、期待していたのになあ。
sdkのバージョンが、2.1 になって何かメリットあるのか?
430デフォルトの名無しさん
2018/03/14(水) 07:46:24.83ID:qzzm58fG >>429
何がしたいの?
何がしたいの?
431デフォルトの名無しさん
2018/03/14(水) 07:53:10.33ID:nU+HZj40 自己レス
https://jonhilton.net/2017/04/17/making-sense-of-the-different-versions-of-net-core-runtime-and-sdk/
The latest SDK (at the time of writing) is 2.1.4.
This is the SDK that goes alongside .NET Core 2.0.5 (you don’t need to download the runtime separately, you can just grab this SDK and it will install everything).
勘違いしていたなあ。
ランタイムは2.0のまま変わらない。
だから、vsのテンプレートで、2.1が選べないわけか。
考えあっている?
https://jonhilton.net/2017/04/17/making-sense-of-the-different-versions-of-net-core-runtime-and-sdk/
The latest SDK (at the time of writing) is 2.1.4.
This is the SDK that goes alongside .NET Core 2.0.5 (you don’t need to download the runtime separately, you can just grab this SDK and it will install everything).
勘違いしていたなあ。
ランタイムは2.0のまま変わらない。
だから、vsのテンプレートで、2.1が選べないわけか。
考えあっている?
432デフォルトの名無しさん
2018/03/14(水) 07:53:45.04ID:DhWPuYEu 俺は出来る人アピールでしょ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- なぜリベラルは人気がないのか 斎藤幸平さんが指し示す未来への道筋:朝日新聞 ★4 [少考さん★]
- 鈴木農相「おこめ券はお米しか買えないわけではない。例えば卵、味噌、しょうゆ、こうした購入に利用可能」 ★3 [Hitzeschleier★]
- 「ヒートテックに寿命があります」ユニクロが明かした“3年劣化”の理由 暖かさが落ちる意外な原因とは [ぐれ★]
- 三谷幸喜氏 温泉嫌いの理由を熱弁「知らない人の股間を素通りしたお湯なんですよ」「おじさんの肛門を通り過ぎたお湯が自分の前に」 [Ailuropoda melanoleuca★]
- 女性天皇「賛成」69%、将来の皇位継承「不安」68%…読売世論調査 ★2 [蚤の市★]
- サナエノミクスについて力説 積極的な財政出動で「所得増える 消費マインド上がる 税収増える」片山さつき財務大臣 [少考さん★]
- モモ・デビルーク(ToLOVEる)がバニーガール姿でプライズ・フィギュア化​キタ━━━━(゚∀゚)━━━━!! [395563314]
- 喜多川海夢(その着せ替え人形は恋をする)水着シーンのフィギュア化キタ━━━━(゚∀゚)━━━━! [723839345]
- あ、出ちゃう、イクッ😫💦🏡
- ワイ32歳Fラン文系卒都内「年収550万です」←どうなん?
- 【悲報】すまん何で日本ってこんなに反『中国』が増えたんだ?ネトウヨどころかそこらの一般人レベルでもゴロゴロいる [483447288]
- 【受験必須】なんg年齢アンケート実施【老若】
