2015年10月30日金曜日

ASP.NET migrationの仕方

PM> Add-Migration 作業名

Migrationフォルダに日付+時刻+作業名のファイルが作成される

上記ファイルに変更を記述

Projectを Rebuild後

PM> Update-Databse

これだと、変更点が、否応なしに出来るので
テスト環境から本番環境の移行作業も楽になりそうだ。

ASP.NET MVC コードの内容でデータベースを更新する

パッケージマネージャで
PM> Enable-Migrations -ContextTypeName Jobs.Models.HinomaruContext
                                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ココはContext名

2015年10月29日木曜日

ASP.NET MVC identityで使うテーブル名の変更

Models/IdentityModels.cs の中に以下の記述を追加

protected override void OnModelCreating(System.Data.Entity.DbModelBuilder modelBuilder) {
            base.OnModelCreating(modelBuilder);

            //こんな感じで好きな名前を定義します
            modelBuilder.Entity<IdentityUser>().ToTable("mUsers").Property(p => p.Id).HasColumnName("UserId");
            modelBuilder.Entity<ApplicationUser>().ToTable("mUsers").Property(p => p.Id).HasColumnName("UserId");
            modelBuilder.Entity<IdentityUserRole>().ToTable("dUserRoles");
            modelBuilder.Entity<IdentityUserLogin>().ToTable("dUserLogins");
            modelBuilder.Entity<IdentityUserClaim>().ToTable("dUserClaims");
            modelBuilder.Entity<IdentityRole>().ToTable("mRoles");
}

ASP.NET MVC ビューエンジンのbundle

Razorエンジンで
    @Styles.Render("~/Content/mobileCss")
    @Scripts.Render("~/bundles/modernizr")
    @Scripts.Render("~/bundles/jquery")
    @Scripts.Render("~/bundles/jquerymobile")












上記のbundleって何だろう~って思っていたら
Global.asxの      BundleConfig.RegisterBundles(BundleTable.Bundles); 

からApp_Startにある BundleConfig.cs に繋がっている。

 BundleConfig.csのversionを直せば、各viewのurlを直さないで済む



Entity Frameworkでレコード取得

今まで、SQL to LINQを使ってきたが
ASP.NETのMVCを使う場合、Entity Frameworkが標準みたいになっているので
SQL to LINQから乗り換えを図る

SQL to LINQでは、テーブルの項目を変更する時は
1.テーブルの項目を変更
2.一旦デザインからテーブル削除してから、再度Drag&Dropで貼り付けしていた

Entity Frameworkからは、code firstなので、classの内容が
データベースと一致させるのが楽

※telerikのdata accessを今まで使ってきたのに、telerikのデザイナが最新versionでは
 無くなっていた、SQL Server以外 主にOracleですが、使えて便利だったのに
 codeだけでは、じじぃには、管理しづらいっす。

使い方は、 SQL to LINQとあまり変わらない

using System.LINQ;  と

using (var db = new 使いたいEntity) {
  var querys = db.テーブル,FirstOfDefault(a => a.Id = 1);
}



2015年10月16日金曜日

log4net

C#でサービスを作成することになり
実行履歴が欲しいので、log4netでログを出力する

詳しいことは、@ITなどで記述されている

パラメータは以下の通り

  <log4net>
    <!-- ログ出力先の定義 -->
    <appender name="DailyFileAppender" type="log4net.Appender.RollingFileAppender">

      <!-- ログ・ファイル名の先頭部分 -->
      <param name="File" value="d:\temp\AskaPrint" />

      <!-- ファイル名の日付部分 -->
      <param name="DatePattern" value='yyyyMMdd".log"' />

      <!-- ログファイルの切替 { サイズ: Size, 日付: Date } -->
      <param name="RollingStyle" value="Date" />

      <!-- 追加 -->
      <param name="AppendToFile" value="true" />

      <!-- ログ・ファイル名が固定ではないので“false”を指定 -->
      <param name="StaticLogFileName" value="false" />

      <!-- ログの書式 -->
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />
      </layout>
    </appender>
    <root>
      <!-- ログのレベルを指定 -->
      <!-- すべてのログレベルを出力 -->
      <level value="ALL" />
      <!-- どのログ出力先を使用するか -->
      <appender-ref ref="DailyFileAppender" />
    </root>
  </log4net>

2015年10月6日火曜日

MAGIC XPA 3.0betaを使ってみて

MAGIC XPA 3.0betaを使ってみた

VisualStudio2010のform editorを使っているので
ほとんど、visual studioの開発

オイラはvisual studioで開発していたので違和感が無い
今までMAGICで開発していた人からすると、違和感ありすぎ

.NETになったら実効ライセンスがダタになるとか
実行速度は速くなるとか、特典が無いかな~


ASP.NET MVCをやる羽目に

モバイルの仕事を請けるため
ASP.NET MVCをやる羽目になった。
その案件のテスト端末がzenfon2!!

今持っているandroid端末が fujitsu F-03E で買い換えたいな~と思っていたら
案件を引き受ける=zenfon2が貰える

goodタイミングで案件が入ってきた
※ただし、他の仕事をしながらなので、既にアップアップ状態.....