読者です 読者をやめる 読者になる 読者になる

IT業界のすみっこ暮らし

ふと気がついたときの記録

ASP.NET MVCのルートURLにドットを含む文字列を使う

開発 .NET IIS

stackoverflow.com

Web.config

system.webServerの中のhandlersに以下のように記載する。

  <system.webServer>
    <handlers>
      <add name="ApiURIs-ISAPI-Integrated-4.0"
         path="/MyURL/*"
         verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS"
         type="System.Web.Handlers.TransferRequestHandler"
         preCondition="integratedMode,runtimeVersionv4.0" />
    </handlers>
  </system.webServer>

    <handlers>
      <add name="ApiURIs-ISAPI-Integrated-4.0"
         path="/Home/GenerateImage/*"
         verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS"
         type="System.Web.Handlers.TransferRequestHandler"
         preCondition="integratedMode,runtimeVersionv4.0" />
    </handlers>

f:id:papamau:20170222183410p:plain

SQL学習サイト SQL ZOO

開発 MySQL プログラミング学習

SQL ZOO

SQLZOO

DBで直接実行しながら学習できるサイト f:id:papamau:20170222131502p:plain

DBは「MySQL」と「SQL Server」の2種類が選択可能

f:id:papamau:20170222131635p:plain

学習画面

f:id:papamau:20170222131718p:plain

クイズ画面

f:id:papamau:20170222132007p:plain

該当メニューの進み具合がメニューの横の黒いバーに表示される

(会員登録なし、ブラウザの情報を保存)

f:id:papamau:20170222132256p:plain

まとめ

wikiに登録されているテーブルの値と実際SQL実行時の結果と若干異なる場合もあるけど、実際にDBを構築せずに学習できるのは便利だと思った。

広告を非表示にする

Entity Framework:最新の日付のレコードを抽出

開発 Entity Framework C# MySQL

DBサンプル

tb1

Id DetailId LastUpdatedAt
1 101 2017-02-01 01:00:00
2 101 2017-02-01 10:00:00
3 101 2017-02-02 01:00:00
4 102 2017-02-01 01:00:00
5 102 2017-02-02 01:00:00

tb2

DetailId Name
101 Name1
102 Name2

例1

tb1から同じDetailIdを持つ複数のレコードの中で、一番最新の日付のものを抽出する

var list = (from t in db.tb1
           group t by t.DetailId into g
           select g.OrderByDescending(e => e.LastUpdatedAt).FirstOrDefault() into p
           select new 
           {
               Id = p.Id,
               DetailId = p.DetailId,
               LastUpdatedAt = p.LastUpdatedAt
           }).ToList();

例2

tb1から同じDetailIdを持つ複数のレコードの中で、一番最新の日付のもの、且つステータスが10であるもので、tb2と紐付いてるNameも抽出する

var list = (from t in db.tb1
            group t by t.OrderDetailId into g
            select g.OrderByDescending(e => e.LastUpdatedAt).FirstOrDefault() into p
            join tt in db.tb2 on p.DetailId equals tt.DetailId
            where 
                p.Status == 10
           select new 
           {
               Id = p.Id,
               DetailId = p.DetailId,
               Name = tt.Name,
               LastUpdatedAt = p.LastUpdatedAt
           }).ToList();

参考サイト

stackoverflow.com

stackoverflow.com

EntityFrameworkでMySQL接続

開発 MySQL Entity Framework Visual Studio C#

qursaan-howto.blogspot.jp

1、必須条件

mysql-installer-community-5.7.3.0-m13.msi」をインストールするか 「mysql-visualstudio-plugin-1.1.1.msi」と「mysql-connector-net-6.8.3.msi」をインストールする。

ダウンロードミラー http://mirror.cogentco.com/pub/mysql/MySQLInstaller/

2、Entity Framework

「App.config」や「Web.config」にあるentityFrameworkのデフォルトタグを削除する。

<entityFramework>   
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">  
<parameters> 
<parameter value="v11.0" />  
</parameters>  
</defaultConnectionFactory>  
 <providers>  
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />  
</providers>  
</entityFramework>

下記のentityFrameworkタグを追加する。

<entityFramework>  
<defaultConnectionFactory type="MySql.Data.Entity.MySqlConnectionFactory, MySql.Data.Entity.EF6" /> 
<providers>  
<provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6" />     
</providers>  
</entityFramework>

3、References(参照)追加

MySql.Data.dll MySql.Data.Entity.EF6.dll MySql.Web.dll

4、プロジェクトをリビルド

5、ADO.NET Entity Data Modelの追加手順を行う

まとめ1

1, Reinstall MySQL Tools with the latest stable MySQL connector for windows. 2, Add this 3 files as reference in Visual Studio: 3, MySql.Data.dll 4, MySql.Data.Entity.EF6.dll 5, MySql.Web.dll 6, Modify following Web.config from

まとめ2

holidayprogramming.hatenablog.com

mysql-visualstudio-plugin-1.1.1.msiのインストール mysql-connector-net-6.8.3.msiのインストール NuGetパッケージの管理で以下をインストール ・EntityFramework (6.1.1) ・Mysql.Data (6.9.3) ・Mysql.Data.Entities (6.8.3.0) ・Mysql.Web (6.9.3) 手順3までの操作で Web.config (あるいはスタンドアロンAPなら App.config) が修正されます。 connectionStringタグを若干修正します。

※ダウンロード先 http://forums.mysql.com/read.php?174,601041,601041 http://dev.mysql.com/downloads/connector/net/6.8.html


以上

20170216ブクマ

開発

commte.net

404エラーページをデザインする時に取り入れたい洗練されたエフェクトとギャラリー集 | コムテブログ

furien.jp

miwao.hatenablog.com

guildworks.doorkeeper.jp

www.slideshare.net

www.slideshare.net

広告を非表示にする