トップページphp
290コメント102KB

ASP.NET MVC

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2012/03/06(火) 15:04:37.68ID:36tUB12b
MVCは"model-view-controller"の略で、関心の分離によってテストやメンテナンスのしやすさ、簡潔なコーディングを実現するアーキテクチャです。

・日本語情報

日本マイクロソフト 井上さんのブログ
http://blogs.msdn.com/b/chack/

ASP.NET デベロッパーセンター 技術情報
http://msdn.microsoft.com/ja-jp/asp.net/aa336581

・英語情報

Getting Started with ASP.NET MVC 3
http://www.asp.net/mvc
0081nobodyさん2012/06/08(金) 12:17:25.84ID:yg24DQ2D
一人開発なもんで、いくらビューがサクサクと生成されても、HTMLのデザインに手間取るのは仕方が無いか
0082nobodyさん2012/07/01(日) 11:51:59.54ID:???
htmlヘルパー的なの全部いらなくね?
痒いところに手が届かなくて、結局jQuery使うわ。特にajaxまわり。
0083nobodyさん2012/07/28(土) 00:41:08.49ID:???
ASP.NET -> RoR ときて、ASP.NET MVCにきたけど
RoRっぽいASP.NETってところしかわからん。
まったく別物だな。
0084nobodyさん2012/09/10(月) 10:07:45.85ID:sjVFDmqF
ふらっとVisual C#,C♯,C#(初心者用) Part96
http://toro.2ch.net/test/read.cgi/tech/1344151764/
0085nobodyさん2012/09/10(月) 10:09:47.56ID:Zsaotxei
【質問】ASP.NETスレ Part7【雑談】
http://kohada.2ch.net/test/read.cgi/php/1343282128/
0086nobodyさん2012/10/08(月) 23:55:13.17ID:???
RoRってロックンロールの仲間かね
0087nobodyさん2012/10/09(火) 01:35:33.39ID:???
>>86
Ruby on Railsのことだろ
Convention over Configurationなフレームワークの先駆け。

ASP.net MVCのほうがRailsより細かいところいじれるし、
スケーラビリティも高く、スピードも速いけどな
0088nobodyさん2012/11/09(金) 20:06:23.95ID:???
DropDownListForの初期値ってどうやって指定すんの?
引数で渡すSelectListでちゃんと指定しても反映されない
0089nobodyさん2012/11/09(金) 20:06:53.90ID:XvAqUeyv
age忘れた
0090nobodyさん2012/11/13(火) 21:27:43.78ID:8c9I2pNR
解決した
DropDownListForの最初の引数と同じ値が
SelectListItemのValueにあればかってに選択されんだな。

それにしても人いなすぎだろ、MVCはやってないの?
0091nobodyさん2012/11/15(木) 15:39:14.80ID:rs1t5psL
TFS2012の質問なのですが、ASP.NET MVCで作っているWebアプリを毎晩自動ビルドすることは
できるようになったのですが、これをテストサーバーに自動発行するにはどうしたらいいのでしょうか?
0092nobodyさん2012/11/16(金) 10:47:30.46ID:???
>>90
海外ではASP.net MVC流行ってるよ
情弱日本人はPHPばっかりだけどな

人がいないのはWebProg板だから
プログラム板のC#スレに統合した方がいいと思う

それか、Web FormsとMVCひとまとめにして「ASP.netスレ」にして
プログラム版にたてる。
ただしASP.netスレにするとWebProg板だろ、などといわれて
この過疎った板に隔離されてしまう
0093nobodyさん2012/11/16(金) 20:33:57.26ID:???
海外では流行ってんのか

何検索してもStack Overflow(と一部日本語サイト)しか
引っかからなくて難儀したわ
Google先生に翻訳してもらった文章を原文と比較しながら
読むとか、もうね
0094nobodyさん2012/11/16(金) 21:03:05.24ID:???
エンジニア向けに特化した翻訳サービスができれば結構流行りそうな気がするな

ASP.NET MVCはかなりいいフレームワークだからもうちょい使われてもいい気がするけど、正式なプラットフォームがWindowsっていうのが最大のネックだよな
個人的にはmonoの3.0が正式リリースされたら何か作ってみるつもり
(monoのサイトはMVC使ってるぽい)
0095nobodyさん2012/11/28(水) 21:15:12.35ID:???
マイクロソフトって、そういうとこやらないんだよな。
0096nobodyさん2013/01/31(木) 02:32:24.63ID:rVzau9Wu
実務でcode firstってやるんですか?実際はdatabase first?
0097nobodyさん2013/02/01(金) 19:14:17.81ID:???
>>96
おそらく一番人気があるのがcode first
ユーザーの要望で最後に追加されたもの。
tutorialもcode firstのが多い感じ

既にデータベースのデータがある状況なら、Database firstも便利でしょ

code first , database first, model firstは
状況に応じて使い分ければいいとおもう
0098nobodyさん2013/03/24(日) 23:50:17.86ID:???
俺あphp一本で、php -> smarty -> Cakeで15年やってきた。
去年ASP.NET MVC初めて使った。感動した!
これはいい。第一、C#使えるだけで反則じゃないか。
開発環境との統合性も素晴らしい。
EntityFrameworkでもLINKでも何でもいい。DB定義にビジュアルツールが使えるなんて夢みたい。
Cake phpの100倍いい。Ajaxとの相性もいいね。

まだ上手く使えないけどこいつ以外使う気がしない。
0099nobodyさん2013/03/25(月) 00:05:06.76ID:???
PHPしかやってなくてその言い草は・・・。
もっと冷静になったほうがいいと思うよ。
0100nobodyさん2013/04/09(火) 00:21:10.91ID:Tng1ZOg6
ここまでJava(との比較)なし
0101nobodyさん2013/04/09(火) 22:38:19.76ID:???
Javaは言語だし、フレームワークのASP.NET MVCとは比較するもんじゃないからね。

せめてStruts、Spring MVCとかでしょう。
0102nobodyさん2013/04/10(水) 05:03:54.64ID:???
ASP.NET MVCって何と比較するものなのかな?
0103nobodyさん2013/04/10(水) 09:10:38.65ID:???
>>102
MVC系のフレームワークじゃないの?
ROR、Smarty、CakePHP…

あとは、
WebForm -> お手軽に開発したい人向け
MVC -> 細かく開発したい人向け
とか
0104nobodyさん2013/04/28(日) 18:23:17.08ID:W9buTT+a
Ext.Netはどうなのかな
0105nobodyさん2013/05/17(金) 02:21:25.52ID:???
open2chにASP.NETのスレ立ちました。

ASP.NET part1
http://toro.open2ch.net/test/read.cgi/tech/1368724408/

プログラム技術@open2ch掲示板
http://toro.open2ch.net/tech/
専用ブラウザも利用可能。板の登録はすぐ上のURL設定
0106nobodyさん2013/06/23(日) 12:11:21.37ID:bh0ZlIHP
職場でASP.NET MVC 3 を使っているチームに合流することになった(自分は .NETでwebアプリは初めて)ので、
以下の本を買ってきました。

Amazon.co.jp: ひと目でわかるASP.NET MVCアプリケーション開発入門 (MSDNプログラミングシリーズ): 増田 智明: 本
http://www.amazon.co.jp/dp/4822294382

本を読み始めてみると、職場のコードでは view に RAZOR や、ファイル名が cshtml なのに、
この本では、ファイル名が aspxとやってて、おかしいなと思って本の画面キャプチャをよく見ると、MVC 2 を使っているっぽい。

RAZOR や cshtml 形式は MVC 3 からなのでしょうか?

とりあえずこれで読み進めてみますが、 MVC 3 か MVC 4 でいい本があったら教えてください。
(ASP.NET MVC の日本語の本は少ないですね)

以下の本はMVC3ですが、これを持っている人が多かったのですが、これが一番いいでしょうか?

プログラミングMicrosoft ASP.NET MVC ASP.NET MVC 3対応版 (マイクロソフト公式解説書)
http://www.amazon.co.jp/dp/4822294668/
0107nobodyさん2013/06/23(日) 15:43:09.69ID:???
>>106
本は断然後者の方がいいよ
ただ、ASP.NET MVCの経験が浅いとちょっと難しい内容かもしれない
EntityFramewokは触り程度しか書いてない

Razorは基本的にはMVC3から
01081062013/06/24(月) 14:38:34.58ID:???
>>107
ありがとうございます。後者の本を勉強してみます。
0109nobodyさん2013/06/25(火) 19:19:26.12ID:???
久しぶりに覗きにきたら
3レスもついてる

一応、人はいるんだな
0110nobodyさん2013/06/25(火) 20:44:49.20ID:8LQOBjf1
>>106
RazorのView EngineはMVC3からだよ
MVC3からけっこう大きく変わってるから
学習するならMVC3かMVC4対応のものを使ったほうがいいとおもう
でもMVC3以降の書籍はかなり少ない

「ひと目でわかるASP.NET MVCアプリケーション開発入門」
はキャプチャ画面ばかりで内容が薄いね

「プログラミングMicrosoft ASP.NET MVC ASP.NET MVC 3対応版」
これは作者がMSDNドキュメントのレベルを超えると言ってる。
細かいネタばかりで読む気にもならなかった。
MSDNレベルの知識が見についてる人以外は手を出さなくていいと思う

「改訂3版 パーフェクトC#」
これは読んでないけど、ASP.net MVCの章があってMVC4対応。
LINQ, EntityFrameworkも扱っている
目次のページ数とかはAmazonで見れる。MVC4は75ページ分。
他にASP.net WebFormsなどの章もある。
http://gihyo.jp/book/2013/978-4-7741-5680-4
01111102013/06/25(火) 20:53:08.36ID:???
>>106
補足。
書籍よりも下のサイトのTutorialが一番良かった。
絶対に目を通した方がいいよ

http://www.asp.net/mvc/tutorials
http://www.asp.net/mvc

これ読める人なら、MVCの書籍はいらないと思った
英語のMSサイトの情報のほうが正確だし、わかりやすいし、最新バージョンに対応してる。
01121102013/06/25(火) 20:55:33.95ID:8LQOBjf1
>>106
さらに追加。
こっちは英語アレルギーの人向け
atmarkitの記事はわりと分かりやすいと思う。MVC3に対応


チュートリアル、リンクなどの技術情報 [日本語]

ASP.NET デベロッパー センター > ホーム > 技術情報 > ASP.NET MVC
http://msdn.microsoft.com/ja-jp/asp.net/aa336581

Visual Studio デベロッパー センター > ホーム > .NetFramework > スキルアップ > 解説動画
5 分で学べる .NET アプリケーションの基礎
http://msdn.microsoft.com/ja-jp/vstudio/ee847315.aspx

連載:ASP.NET MVC入門【バージョン3対応】
http://www.atmarkit.co.jp/fdotnet/aspnetmvc3/index/index.html

ASP.NET on the Web.
http://blogs.itmedia.co.jp/chack/
0113nobodyさん2013/06/26(水) 23:20:52.65ID:???
monoいいね

http://www.atmarkit.co.jp/ait/articles/1303/15/news069.html
0114nobodyさん2013/06/26(水) 23:55:46.61ID:???
>>113
おお、こんなナイスな連載が始まっていたのか

monoのASP.net MVCを
ソーシャルゲームの本番環境で稼働させてるってのは驚きだわ
01151062013/06/30(日) 14:10:33.93ID:???
>>110-113
とても有益な情報、どうもありがとうございます!
「プログラミングMicrosoft ASP.NET MVC ASP.NET MVC 3対応版」
は、手元に置いておこうと思いますが、 >>111-112 の英語ドキュメントも読もうと思います。
ちょうど、MVC4 に入れ替えよう、という話がチーム内で出ていたので
(特に新機能を使うわけではないが、入れ替えてもソースコードコンパリビリティはあるだろうというのと、
とりあえず新しくしておくか、という感じで)

>>113
自分もUnix育ちなので、開発環境としては Visual Studio はいいとおもうけど、
運用はLinux等がいいなと思い、monoは注目してました。
IISだと、何よりサーバ増やすとき金が掛かる。リモートメンテとかもめんどくさいし。
0116nobodyさん2013/07/04(木) NY:AN:NY.ANID:???
パーフェクトC#買ってみたけど、全く使えない...

仕方がなくネットで調べながらやってるけど、
英語がさっぱりな俺でも公式チュートリアルが一番いい
0117nobodyさん2013/07/15(月) NY:AN:NY.ANID:???
ASP.NETもっと盛り上がって欲しいな〜VS含めて凄くいいと思うんだけどな〜
0118nobodyさん2013/07/15(月) NY:AN:NY.ANID:VQA6TNZm
stackoverflowがそうだっけ。
Windowsサーバを用意しないといけないのがなー。
Azureをもっと売り込めばいいのに
0119nobodyさん2013/07/16(火) NY:AN:NY.ANID:???
>>118
apache+mono_serverでいいじゃない。
0120nobodyさん2013/07/18(木) NY:AN:NY.ANID:???
自動で生成されるWebpages_Rolesテーブルに、
ロールを追加したり消したりするにはどうしたらよいのでしょうか?
0121nobodyさん2013/07/18(木) NY:AN:NY.ANID:???
>>120
http://msdn.microsoft.com/ja-jp/asp.net/hh180206.aspx
Webpages_Rolesでググったら一番上に出てきてるんだが
0122nobodyさん2013/07/18(木) NY:AN:NY.ANID:???
手動で直接DBに入れるのは出来たのですが、コードを書いて追加したりは出来ないと言うことでしょうか?
0123nobodyさん2013/07/19(金) NY:AN:NY.ANID:t8/Ti1Rx
>>122
ユーザ管理はWebベースでブラウザから設定するツールがあるよ
だいたいの管理はこれでできるとおもう
ユーザの追加とかロールの変更とか。

Web Site Administration Tool
http://msdn.microsoft.com/en-us/library/yy40ytx0%28v=vs.100%29.aspx

ここにわかりやすい解説がある。動画もある
http://www.asp.net/mvc/overview/security

動画
http://pluralsight.com/training/players/PSODPlayer?author=scott-allen&;name=mvc3-building-security&mode=live&clip=0&course=aspdotnet-mvc3-intro
0124nobodyさん2013/07/19(金) NY:AN:NY.ANID:???
>>122
手動でできるんなら、それをするコードを書けば出来ると思わないの?
普通にDBのあるテーブルに行追加するだけだろ
0125nobodyさん2013/09/03(火) 14:58:03.62ID:qeRbrPuu
//HomeController.cs/////////////////////////////////////////
namespace AjaxTest.Controllers
{
public class HomeController : Controller
{
[HttpGet]
public ActionResult Index()
{
return View();
}
[ValidateAntiForgeryToken]
public ActionResult IndexPost()
{
List<Product> model = new List<Product>();
for (int i = 0; i < 100; i++)
{
Product p = new Product();
p.Name = "製品" + i.ToString();
model.Add(p);
}
return View(model);
}
}
}
01261252013/09/03(火) 14:58:42.70ID:qeRbrPuu
//Index.cshtml/////////////////////////////////////////////////
@using (Ajax.BeginForm("IndexPost", new AjaxOptions { HttpMethod = "Post", UpdateTargetId = "data" }))
{
@Html.AntiForgeryToken()
<input type="submit" value="button" />
}
<div id="data"></div>
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/jqueryval")
//IndexPost.cshtml////////////////////////////////////////////
@model IEnumerable<AjaxTest.Models.Product>
@{
var grid = new WebGrid(source: Model, ajaxUpdateContainerId: "grid", rowsPerPage: 10);
}
<div id="grid">
@grid.Pager(WebGridPagerModes.All)
@grid.GetHtml(columns: grid.Columns(grid.Column("Name", "プロダクト名", format: @<text>@item.Name</text>)))
</div>
01271252013/09/03(火) 15:03:14.03ID:qeRbrPuu
分割投稿失礼します。
上記2つのコードにてコントローラにValidateAntiForgeryTokenアノテーションを付けると、
エラーになる原因がよくわかりません。どうしてバリデーションエラーになるのでしょうか?
またアノテーションを外した後のwebGridのページャやソートをさせようとすると何故か複数回リクエストが発生してしまいます。
対処方法があればご教授をお願い致します。
01281252013/09/03(火) 15:14:37.83ID:qeRbrPuu
連投すみません。
上でバリデーションエラーになると書きましたが、エラーになっているのかもよくわかりません。
最初にグリッドを表示した後、ページャやソートをしようとすると表示されません。
アノテーションを外せばページャやソートが出来るようになりますが、リクエストが複数回行われてしまいます。
01291252013/09/03(火) 16:03:25.73ID:???
さらにページャまたはソートを連打すると、次第にクエリ文字列が長くなっていき、urlの最大長を超えるとグリッドが消えます。
0130nobodyさん2013/09/04(水) 21:36:21.40ID:???
AntiForgeryTokenはpostじゃないと動作しないらしい
@gridで出力してるページャがgetで動作してるんじゃないかな

それ以外はわかんね
0131nobodyさん2013/09/09(月) 01:12:52.50ID:zNVqiCfk
>1
MVC5のTutorial出来ていた。
MVC5はVS2013 Previewにはいっているらしい
MVC5のみのダウンロードはまだできないはず

Getting Started with ASP.NET MVC 5
http://www.asp.net/mvc/tutorials/mvc-5/introduction/getting-started
0132nobodyさん2013/10/09(水) 23:32:52.90ID:???
MVCは、ajaxがめんどくさい
0133nobodyさん2013/10/24(木) 22:18:10.53ID:???
VS2010のスキャフォールディングのあまりの糞さにブチ切れた
勝手にDB作ろうとする上に接続文字列変更したらマイグレーションしろとかマジふざけんな
このクソ馬鹿仕様考えた奴は禿て氏ね
0134nobodyさん2013/10/25(金) 00:32:04.38ID:???
俺はlinq to sqlに戻したよ
0135nobodyさん2013/10/25(金) 15:29:09.82ID:???
そうだな
M$のテンプレートだの自動生成の類が巨神兵並のド腐れだってのを失念してた俺が悪い
しかしこのCoCとやらは本当に標準的になれてるのか・・・・・?
こんなtypoクリティカルなシロモノ良く使えるな
0136nobodyさん2013/10/27(日) 09:38:43.99ID:gmzJeJzj
>>133
使いこなせないからって逆切れするなよみっともない
あんたの能力が低いだけだ

ScaffoldingやってるのはVSではない。
ASP.net MVCとEntity Frameworkだ
基本的な役割すら理解してない


テーブル自動作成が嫌なら先に作成しておけばいいだろ

いまどきVS2010なんて使ってるのも遅れすぎだわ
VS2013とASP.net MVC5を使え
Entity Frameworkも6.0になってる
0137nobodyさん2013/10/27(日) 16:39:52.38ID:???
>>136
知ったか恥ずかしいね
使いこなすも何もいじりようがねえだろあの機能
先に作成しておけばいい? 無知は罪だね
既存のDBへの接続文字列へ変更してもエラー吐くんだよ
提灯記事鵜呑みにする脳弱は黙ってろ
0138nobodyさん2013/10/27(日) 22:07:10.03ID:???
>>137
えっ・・・、さすがにそれはひどい。
EF4はCode FirstもDatabase Firstもどちらも対応できるだろ・・・。
自分は仕事でDBから作っているよ。

言葉も汚いし、技術も薄っぺらすぎだろう。
0139nobodyさん2013/10/27(日) 23:25:51.11ID:???
>>138
メクラ乙
お前やっぱ実際に使ってないだろ
0140nobodyさん2013/10/27(日) 23:38:26.91ID:???
少々のメクラでも分かるように書け、クズ。
01411362013/10/28(月) 09:37:37.40ID:Oy9vg7nj
>>139
俺は137とは別人だ
138も>137が無能だと気が付いたようだな

>>137
あんたが英語のドキュメントも読めず、検索の仕方もわからない低能なだけ
俺はSQL Server ExpressでもMySQLでもEntity Framework使ってるわ
接続DBの変更は1つの単語を変えればいいわけではない
認証方法などDBごとのパラメータがある
英語で検索すればすぐ見つかる程度の話だ
エラーにきれてこのスレの住人に汚い言葉を吐くなんてみっともない

最低限、英語のサイトには目を通せ
http://msdn.microsoft.com/en-US/data/ef
http://www.asp.net/mvc
0142nobodyさん2013/10/28(月) 09:42:29.66ID:???
>>138
このMSDNでは4通り説明してるね
http://msdn.microsoft.com/en-us/data/jj590134

Model First
Database First
Code First (Existing Database)
Code First (New Database)

俺はCode First (Existing Database)」でやってるな
Columnのデータ型は自動作成されるといらつくから
データの長さまできっちり先に指定してTableつくっておく
0143nobodyさん2013/10/28(月) 11:45:52.94ID:???
>>141
お前本当に読解力ねーな(失笑
一遍自分でやってみろよデータベースファーストでよ?
そうすりゃすぐわかる
0144nobodyさん2013/10/28(月) 11:53:50.16ID:???
NHibernateオヌヌメ
0145nobodyさん2013/10/28(月) 12:09:01.60ID:???
>>144
ざっとggってみたが面白そうではある
試してみよう
0146nobodyさん2013/10/28(月) 13:43:19.27ID:???
EFのCode Firstすら使えないバカにNHibernateは無理
マッピング設定が大量にある
0147nobodyさん2013/10/28(月) 14:32:54.70ID:???
お前ひょっとしてEFはコードファーストでしか使えねえ糞だって言ってるのか?
既存のDBから簡単に持ってこれないんじゃそら普及しない訳だわ
0148nobodyさん2013/10/28(月) 19:39:51.37ID:???
>>147
Entity Frameworkは一番普及してるORMだ
もう答えなくていいなこのバカには
無知な上に態度も悪いし教えたサイトで学ぶ気もない

EF嫌ならNHibernateでもつかってろ
おまえには絶対につかえないと思うがな
0149nobodyさん2013/10/28(月) 19:48:18.30ID:???
EFが一番普及してる(笑)
どこの並行世界にお住まいですか
0150nobodyさん2013/10/28(月) 19:51:09.62ID:???
ああそうそう言い忘れてた
実践もしねーで学ぶだけー()に何の価値があんだよ
やってみもしねーで頭でっかち上から目線
馬鹿はどっちかね
0151nobodyさん2013/10/28(月) 20:01:27.71ID:???
>>149
EFより普及してるORMあげてみろよ
0152nobodyさん2013/10/28(月) 22:27:08.58ID:???
EFは世間のORMよりだいぶ分厚いイメージが有るw

荒らしは放置しようぜ。口悪いだけで頭すっからかんだよ、こいつ。
0153nobodyさん2013/10/28(月) 22:31:28.51ID:???
>>151
出た(笑)限定勝負()
DBアクセス手段がORMしかない世界の住人ですかー?
少なくとも4年前まではADO.NET一強で他雑魚だよ
ttp://www.atmarkit.co.jp/fdotnet/chushin/chushinsurvey_01/chushinsurvey_01_02.html
先に言っとくが、データが古いとケチつけんなら最新のソース出せよ?
お前の妄想とか願望とか要らねえから
ついでにありがたーい言葉も付けてやろう「予定は未定」
0154nobodyさん2013/10/28(月) 22:33:16.23ID:???
ADO.NETとORMをなぜ同列に扱うのか分からない。
お前面白いな。もうしばらく居てもいいぞ。
0155nobodyさん2013/10/28(月) 22:36:17.20ID:???
試してみろというと逃げる癖してよくもまあ・・・(笑)
何一つ具体的なこと言えない時点でお察しだな
0156nobodyさん2013/10/28(月) 22:55:04.02ID:???
>>153
ADO.netはORMではないんだから
「Entity Frameworkは一番普及してるORMだ」は事実だろ

いまどき生SQLでゴリゴリ書くのは時代遅れ過ぎるんだよ
大昔のADO.net時代のシェアなんてどうでもいい。

日本のITは世界から大きく遅れてるのに、IT後進国の2009年という
大昔の調査のを持ち出してくるあたりが無能の証
Entity Frameworkがなかった時代の調査なぞ論外

>>152
Model Firstとかは分厚いが、Code Firstならそうでもないんじゃない?
Model Firstはだいぶ評判悪かったみたいだよ
0157nobodyさん2013/10/29(火) 01:25:26.20ID:???
Model Firstが悪いんじゃねーよ。
その実装が糞だってだけだ。 やってればわかるだろ。

しかも、生SQLごりごりとかさ、EFの前までに何段階もあっただろ。
0158nobodyさん2013/10/29(火) 10:31:38.21ID:???
EFは、使った人間なら分かるが、ムダにでかくて遅い。 https://code.google.com/p/dapper-dot-net/
生成するSQLも汚い。
少なくとも初期は使いにくかっただろ。
理想はいいのだが、実装が追いついていない感じ。
最新のバージョンをさらっと触っただけの人はしらんが、俺の認識はこーだ。

DBがそのアプリ、サイトだけで使うものなら ORMで好き勝手にやればいいけど、
他のアプリでも使うテーブルを参照するとかそういうときにトタンに問題が出る。
結局、自作の ADO.NETのラッパー使わざるを得んのは、みんな分かると思うがね。
01591062013/10/29(火) 13:13:07.99ID:???
EntityFramework より、Linq to SQL とかのほうが使われているんじゃないの? (定量的なソースはありませんが)
他にも >>158 の dapper とか dotconnect とか NHibernate とか、ADO.NET直とか、
Javaとちがって .NET界の ORM は、デファクトといったものが無く乱立しているような気がする。
0160nobodyさん2013/10/29(火) 13:14:24.81ID:???
名前欄は間違いです
0161nobodyさん2013/10/29(火) 14:02:36.44ID:???
ADO.NET データセット、LINQ to SQL、Entity Framework それらの特徴と今後の将来性
http://www.youtube.com/watch?v=uXf_VTPUp8Q
0162nobodyさん2013/10/29(火) 14:16:06.93ID:???
>>159
古いシステムならLINQ to SQLもあるだろうけど、
新規開発はEFでしょう。MSもEF推してる。

LINQ to SQLはSQL Serverでしか動かないしそれだけでもう駄目だわ

あとWindowsのほうが乱立してない
MS信仰が強いからMSの技術で代替がない場合を除いて
まずMSの技術を使おう、となる

JavaはORMはHibernate以外にHibernateの亜種、
JPA、Cayenne、iBatisといろいろある
Webフレームワークも乱立していて定番もなくカオス。
Windowsだとほぼ全員がASP.netを使う。

NHibernateもだいぶ人気落ちただろう。
NHibernateのいいところとってEFつくってるし
マッピング設定がめんどうなNHibernateを選ぶ理由が見つからない
0163nobodyさん2013/10/29(火) 14:27:37.40ID:???
>>158
micro ORMはリレーションに対応できないのばっかりじゃないか
EFのような高機能なORMと比べてパフォーマンスが速い、
なんて主張はナンセンスだよ
開発生産性を高めるためにORM使っているというのに
リレーション対応できないんではメリットの大半が失われてる

あとシンプルなリレーションなら、ORMで生成されるSQLはほぼ完ぺきだよ
パフォーマンスこだわるなら、正規化ゆるくして複雑なJoinを避けるよう
にするのも定石だとおもう
0164nobodyさん2013/10/29(火) 14:31:58.31ID:???
EF6ってだいぶんパフォーマンス改善されてる感じ?
4とかはパフォーマンス悪すぎた

VSに統合されている(GUIが使える)のは大きなメリットだな
0165nobodyさん2013/10/29(火) 15:21:15.15ID:???
>>154
おいおいおい、現場で必要なのはDBアクセス手段であって何の技術かなんてどうでもいいんだよ
生SQLやデータセットでは使い辛い、開発し辛い、メンテし辛い、テストし辛い
それを解決する手段として模索されてきた一つがORMだろ
つまり最初から置き換え狙いでデータセットと競合する
それを同列に扱わないって方が意味わからん

>>156
EF1はなかったことにしたいんですねとてもよくわかります
そして反証は例によって出せない、と・・・(笑)
0166nobodyさん2013/10/29(火) 15:52:44.14ID:???
>>163
いいえ、遅いことを高機能だからと目をつぶるのはナンセンスです。

開発生産性を高めるためだけにしか使えないとご自分でおっしゃっているの分かりますか?
0167nobodyさん2013/10/29(火) 17:12:26.56ID:???
遅いか速いかとか、そのスピードだけみてもなぁ
使えるかどうかは、必要十分な速度に達してるかどうかが問題なわけで
今のEFは使い物にならないぐらい遅いのか?
0168nobodyさん2013/10/29(火) 18:00:14.50ID:Voe6Fo0l
>>164
自分では測ってないけど、速くなってると思う
MSのVersion History見るとパフォーマンス改善したという
記述がいくつか見つかる
http://msdn.microsoft.com/en-us/data/jj574253

>>165
俺の中ではCode FirstがサポートされたEF4.1以降がEntity Framework
それ以前は使ってないし知らん

>>158
これわざわざベンチマークとったのになんでバージョンも日付も入れないんだろうね
バージョン上がった今となっては参考になるのかすらわからない
0169nobodyさん2013/10/29(火) 18:03:12.42ID:???
>>161
YouTubeにこんなチャンネルできてたんだ。
エバンジェリストの解説もゆるゆるだなw

この動画でも、LINQ to SQLはオワコン扱いされてるね
0170nobodyさん2013/10/29(火) 18:13:35.82ID:Voe6Fo0l
>>166
DataSetとEFでは開発生産性が大違いなんだから
EFを使わないという選択肢は可能な限り避けたい。

「高機能ORMを使わずにゴリゴリやる」とか「ストアドプロシージャを使う」
とかいう対策は大きな犠牲を伴う。開発生産性が大幅に低下する。
利用は極力ひかえるべきパフォーマンス対策

パフォーマンスを上げる方法は他にたくさんあるしまずそっちを試せばいい。
メモリを大量に積む
SSDにする
キャッシュを使う
DBのレプリケーションを使う
App Serverの台数を増やす
これらは時間かけずに対応できる。

「Entity Frameworkを諦める」なんてのは最後の手段だわw
0171nobodyさん2013/10/29(火) 18:19:46.58ID:Voe6Fo0l
>>167
十分に速いよ
ありふれたハードで秒間1000クエリ以上こなせる

SSD時代になってハードの性能が格段にあがってるから
コードでちまちまパフォーマンス改善をやる必要性は低くなってる

EF6出てるから使ってみればいい
せっかくMSの開発ツール使えるのにEF使わないなんてもったいなさすぎるわ
0172nobodyさん2013/10/29(火) 18:46:09.52ID:???
EF遅いって、ソシャゲみたいなよほどレスポンスを重要視する業界ならわかる。
それ以外ならたいていインデックス設計、さらにはキャッシュでまず何とかなるでしょ。
0173nobodyさん2013/10/29(火) 19:38:46.56ID:???
クエリの組み立てに式木を使う処理である以上、性能面で越えられない壁があるのは事実。

っと言っても、ユーザ数が知れたイントラ用途とかで気になるレベルではないので、
余程性能要件が厳しいものでもなければ使うで良いと思うけど。
それで困るケースではMicro ORMで。

っというか、Expressionsの処理をもっと速くしてください(´・ω・`)
0174nobodyさん2013/10/30(水) 09:50:57.40ID:???
>>170
使えるなら、使うのに躊躇する理由は無い。
(俺は)使えないという事実を無視して、便利だから、高速化の手法はいろいろあるからといわれても困る。
もったいないって、何がもったいないのかさっぱり分からん。

なんか頭固いなぁ。貴方のの考えや、貴方が便利に使ってるのを否定してるわけでもないのに。
0175nobodyさん2013/10/30(水) 10:20:59.74ID:???
>>174
これが信者ってもんですよ
ひたすら盲目で蒙昧
0176nobodyさん2013/10/30(水) 11:43:33.07ID:TzYVxI9W
>>174
あんたは>>166
>163のレスを
「開発生産性を高めるためだけにしか使えない」などと曲解したのが悪い。

EFを否定したととられても仕方がない
ORM否定派がいるうざい流れの中での発言ならなおさらだ

リレーション追えないようなmicro-ORM出してきて
こっちのが速い、とか本当に無意味、ナンセンス
パフォーマンス比較するなら機能が同等のもの出せよと思う
0177nobodyさん2013/10/30(水) 11:47:04.18ID:???
ASP.NET MVCスレでEntity Framework否定って
ほんとうざすぎるわ

MVCは基本的にEntity Framework推奨で設計されてるのに
EF否定する奴がなんでこのスレ覗いてるんだか
0178nobodyさん2013/10/30(水) 11:47:50.78ID:???
まあ、貴方がどう思おうが、何を言おうが、
昔使いにくかったことと、パフォーマンスがイマイチな事実は変わらないよ。
0179nobodyさん2013/10/30(水) 11:49:01.92ID:???
推奨はいいよ。

だが、使いにくいと言うのをやめろとか、必ず使えとか、頭おかしいのと違うか?
0180nobodyさん2013/10/30(水) 12:00:33.05ID:???
>>178
EFは驚異的なペースでバージョンアップしてるんだから
「昔は使いにくかった」とかほとんど無意味
EFやORMを使わずにEF否定してる人と似たようなもの

>>179
必ず使えなんて誰も言ってないだろ
頭おかしいのはあんた
0181nobodyさん2013/10/30(水) 12:05:54.99ID:???
MVC5出てるのにMVC5の話題もない。

ケチつけてる人ばっかりだけど、
最新バージョンさわってもない人ばかりに見える

無料なんだし使ってみろよといったら信者扱いw
■ このスレッドは過去ログ倉庫に格納されています