未来技術の光と影。
SIYOU’s Chronicle
MY PROFILE
goo ID
araiguma_siyou
性別
都道府県
自己紹介
araiguma_siyou@mail.goo.ne.jp
RECENT ENTRY
doechii - ドーチ
「XG Charts」さんの CLOSE について
XG - IYKYK
XGは「反韓アイドル」なのか?
XG - SOMETHING AIN'T RIGHT
XG - WOKE UP MV 解析
XG は HIP-HOP なのか
XG WOKE UP TV-SHOW Part.2 | KBS Music Bank
XG WOKE UP TV出演
[XG TAPE #4] - XGを支えるHIPHOPガチ勢
RECENT COMMENT
araiguma_siyou/
XG WOKE UP TV出演
Queenメロ/
XG WOKE UP TV出演
Queenメロ/
XG WOKE UP TV出演
araiguma_siyou/
XG WOKE UP TV出演
araiguma_siyou/
XG WOKE UP TV出演
Queenメロ/
XG WOKE UP TV出演
サムライグローバル鉄の道/
映画寸評 X 3
araiguma_siyou/
XG WOKE UP TV出演
Unknown/
XG WOKE UP TV出演
araiguma_siyou/
『XGの「PUPPET SHOW」の歌詞に海外男性ファンが激怒してる』らしい件について
RECENT TRACKBACK
CATEGORY
Weblog
(449)
舞台
(1)
ドラマ
(1)
XG
(53)
Dance
(1)
BOOKMARK
WIRED JAPAN
Gizmodo Japan
GIGAZINE
TechCrunch Japan
Engadget Japanese
Make:Japan
日経サイエンス
SEARCH
このブログ内で
ウェブ全て
6.MVC5 テーブル値関数の再取り込み方法
Weblog
/
2015年01月18日 14時25分00秒
■内容
SQL Server側 テーブル値関数が変更になっため、VSにて再取り込みを行ったが、「○○_Result1.cs」というように、クラス名及びソースファイル名の最後に連番が付与したものが追加となってしまう。
■解決方法
一度、既存定義(VSではアクセスできない隠し情報あり)を消去してから、取り込み直す。
※ひょっとすると、私の知らない正しい方法があるかもしれません。ご存知の方はコメント願います。
■ダメなやり方
●「○○_Result.cs」を直接修正して項目を追加しても、マッピングが直っていないので・・・
●通常の手順(と、思われる)
・「ソリューションエクスプローラ」から「○○Model.edmx」ファイルを選択
→「エンティティデザイナー」が表示される。
・「エンティティデザイナー」上で右クリックし「データベースからモデルを更新」を選択
→「更新ウィザード」が開く
・「更新」タブを選択し、該当の関数を選択して[完了]ボタンをクリック
→「出力」ウィンドウに
生成されたモデル ファイル: ○○Model.edmx。
データベースからのメタデータの読み込みに要した時間: 00:00:05.4409359。
モデルの生成に要した時間: 00:00:04.2694248。
と、出力される。
・ここで一度[すべてを保存(Ctrl+Shift+S)](VS のソリューション全体を保存するコマンド。
VS上部のフロッピーディスク(!)が2枚のアイコン)にて、ソリューション全体を保存する。
※「このファイルはソースエディター以外で更新それました。再度読み込みますか?」
と、聞かれた場合には[すべてに適用]ボタンをクリック。
・「ソリューションエクスプローラ」から該当関数の「○○_Result.cs」を選択
★なんと、直っていない!!なぜ??
●一度削除してやり直し
・「ソリューションエクスプローラ」から「○○Model.edmx」ファイルを選択
→「エンティティデザイナー」が表示される。
・「ソリューションエクスプローラ」下部のタブから「モデルブラウザー」タブを選択
※「モデルブラウザー」タブがない場合「エンティティデザイナー」を右クリックして「モデルブラウザー」を選択
・「○○Model」→「関数インポート」を開き該当関数を右クリックして「モデルから削除」を選択
・「○○Model.Store」→「ストアドプロシージャ/関数」を開き該当関数を右クリックして「モデルから削除」を選択
・「ソリューションエクスプローラ」タブをクリックして「ソリューションエクスプローラ」に戻る
・該当関数の「○○_Result.cs」を右クリックして「削除」を選択(実際の「○○_Result.cs」ファイルも削除される。
→『'○○_Result.cs'は完全に削除されます。』が表示されたら[OK]ボタンクリック
★念のためここで一度[すべてを保存(Ctrl+Shift+S)]にてソリューション全体を保存する。
→消したはずの「○○_Result.cs」ファイルが現れる。(実際の「○○_Result.cs」ファイルも自動生成される。
★試しにこの状態で「○○Model.edmx」の「エンティティデザイナー」上で右クリックし「データベースからモデルを更新」を選択
→「追加」タブを選択。「ストアドプロシージャと関数」→「dbo」→該当関数にチェックを入れて[完了]ボタンをクリック
※「モデルブラウザー」で該当関数を消す前は、「追加」タブの一覧に該当関数は表示されない。
※逆に「モデルブラウザー」で該当関数を消すと、「更新」タブの一覧に該当関数は表示されない。
→「出力」ウィンドウにモデルが生成された旨が出力される。
★元の「○○_Result.cs」が残ったまま、「○○_Result1.cs」が作成されている。
※上記で[すべてを保存(Ctrl+Shift+S)]を実施せずに「追加」処理をしても同じ結果となる。
★「○○_Result1.cs」を開くとクラス名も「○○_Result1」になっている。
※諦めて「○○_Result.cs」ファイルを削除して、プロジェクト内の「○○_Result」クラスを使用している箇所を
全て「○○_Result1」に変更すれば、動くことは動く。
※「○○_Result.cs」ファイルを削除して、「○○_Result1.cs」を修正してクラス名を「○○_Result1」から「○○_Result」
に修正しても動く。
※ただし「○○_Result1.cs」というファイル名を変更することは出来ないもよう。
●裏ワザ的な方法
・上記を参考にして「モデルブラウザー」から該当関数を削除(2箇所)する。
・一度[すべてを保存(Ctrl+Shift+S)]にてソリューション全体を保存する。
・「ソリューションエクスプローラ」から該当関数の「○○_Result.cs」を削除。
※「○○_Result1.cs」「○○_Result2.cs」・・・がある場合には全て削除する。
※この状態で[すべてを保存(Ctrl+Shift+S)]しても、「○○_Result.cs」ファイルは自動生成されない。
★「ソリューションエクスプローラ」から「○○Model.edmx」ファイルを【右】クリック
→「ファイルを開くアプリケーションの選択」を選択し、「XML(テキスト)エディター」を選択し[OK]ボタンクリック
※「ドキュメント・・・は既に開いています。このドキュメントを閉じますか?」が表示されたら[はい]ボタンクリック
★『_Result』にて「現在のドキュメント」内を検索して、
★『<edmx:ConceptualModels>』セクション内の、該当関数の『<ComplexType Name="○○_Result">』セクションを削除
※セクション内の<Property ...>なども含めて、セクション全体を削除する。
★さらに下の方の『 <ComplexType Name="○○_Result">』セクション(○○_Result1...などがあれば全て)を削除
★「Models\○○Model.edmx の保存(Ctrl+S)」ボタン(フロッピーディスクが1枚のアイコン)にて該当ファイルのみ保存
「○○Model.edmx」タブの[×]ボタンクリックにて、「XML(テキスト)エディター」を閉じる。
※念のため[すべてを保存(Ctrl+Shift+S)]。「○○_Result.cs」ファイルは自動生成されない。
★「ソリューションエクスプローラ」から「○○Model.edmx」ファイルを選択し直し、「エンティティデザイナー」を表示
・右クリックメニューから「データベースからモデルを更新」を選択
・「追加」タブ→「ストアドプロシージャと関数」→「dbo」→該当関数にチェックを入れて、[完了]ボタンクリック
★[すべてを保存(Ctrl+Shift+S)]ボタンクリック→該当関数の「○○_Result.cs」ファイルが自動生成される。
・「○○_Result.cs」ファイルを開くと、クラス名もちゃんと「○○_Result」になっている。
■インデックス
MVC5データベースファーストでちゃっちゃとモバイルサイト
1.MVC5 データベースファースト テーブル値関数の使用方法
2.MVC5 複数項目あるモデルの定義
3.MVC5 ビューでの数値項目右寄せカンマ編集
4.MVC5 BootStrap でのアコーディオン
5.MVC5 データベースファースト ASP.NET Identity に嵌る
6.MVC5 テーブル値関数の再取り込み方法
7.MVC5 Session情報に配列を記録する方法
8.MVC5 AWS へのアップロード方法
9.SQL Server 読み込み専用ユーザの設定方法
10.MVC5 セッションタイムアウト後にLogin画面に戻す方法
11.自己認証による https化
12.LinQ の遅延実行に泣く
コメント (
0
)
|
Trackback ( 0 )
CALENDAR
2015年1月
日
月
火
水
木
金
土
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
前月
翌月
ENTRY ARCHIVE
2025年01月
2024年11月
2024年10月
2024年08月
2024年07月
2024年06月
2024年05月
2024年03月
2024年02月
2024年01月
2023年11月
2023年10月
2023年09月
2023年08月
2023年07月
2023年06月
2023年04月
2023年03月
2023年02月
2023年01月
2022年12月
2022年11月
2022年10月
2022年09月
2022年08月
2022年07月
2022年06月
2022年05月
2022年04月
2022年03月
2022年02月
2022年01月
2021年12月
2021年11月
2021年10月
2021年09月
2021年08月
2021年07月
2021年06月
2021年05月
2021年04月
2021年03月
2021年01月
2020年12月
2020年11月
2020年10月
2020年09月
2020年08月
2020年07月
2020年06月
2020年05月
2020年04月
2020年03月
2020年02月
2020年01月
2019年12月
2019年11月
2019年10月
2019年09月
2019年08月
2019年07月
2019年06月
2019年05月
2019年04月
2019年02月
2019年01月
2018年12月
2018年11月
2018年10月
2018年06月
2018年04月
2018年03月
2017年12月
2017年10月
2017年04月
2017年03月
2017年02月
2016年12月
2016年08月
2016年07月
2016年06月
2016年05月
2016年04月
2016年02月
2016年01月
2015年12月
2015年10月
2015年08月
2015年07月
2015年06月
2015年05月
2015年04月
2015年02月
2015年01月
2014年12月
2014年11月
2014年09月
2014年07月
2014年04月
2014年03月
2014年02月
2013年11月
2013年09月
2013年08月
2013年06月
2013年05月
2013年03月
2013年02月
2013年01月
2012年12月
2012年11月
2012年10月
2012年09月
2012年08月
2012年06月
2012年04月
2012年03月
2012年02月
2011年12月
2011年11月
2011年10月
2011年09月
2011年08月
2011年07月
2011年06月
2011年05月
2011年04月
2011年03月
2011年02月
2011年01月
2010年12月
2010年11月
2010年10月
2010年07月
2010年01月
2009年08月
2009年07月
2009年06月
2009年04月
2009年03月
2008年09月
2008年05月
2008年04月
2008年03月
2008年02月
2008年01月
2007年12月
2007年11月
2007年10月
2007年09月
2007年08月
2007年07月
2007年06月
2007年05月
2007年04月
2007年03月
2007年02月
2006年12月
2006年11月
2006年10月
2006年08月
2006年07月
2006年05月
2006年04月
2006年03月
2006年02月
2006年01月
2005年11月
2005年10月
2005年09月
2005年07月
2005年06月
2005年05月
2005年04月
2005年03月
goo ブログ
編集画面にログイン
ブログの作成・編集
gooおすすめリンク
おすすめブログ
【集まれ!ペットブロガー】あなたのブログを紹介しませんか?
@goo_blog
【お知らせ】
ブログを読むだけ。毎月の訪問日数に応じてポイント進呈
【集まれ!ペットブロガー】あなたのブログを紹介しませんか?
訪問者数に応じてdポイント最大1,000pt当たる!
dポイントが当たる!無料『毎日くじ』