未整理のメモです。そのうちまとめたり、削除したりするかもしれません。
データベースで外部キーがないときに、自分で関係を定義する方法です。
ソリューションエクスプローラーのプロジェクトのコンテキストメニューから[発行]を選択して、あとはウィザードに従います。
普通はアクションメソッドの引数で受け取りますが、あえてリクエストオブジェクトから受け取ることもできます。
Request.QueryString.Get("パラメータ名");
普通はアクションメソッドの引数で受け取りますが、あえてリクエストオブジェクトから受け取ることもできます。
Request.Form.Get("パラメータ名");
Web.configに値を設定します。
<configuration> <appSettings> <add key="CustomKey" value="CustomValue" /> </appSettings> </configuration>
値の取得はConfigurationManager.AppSettingsを使います。
System.Configuration.ConfigurationManager.AppSettings["CustomKey"]
Entity Frameworkの機能ではOracleの順序(SEQUENCE)にはアクセスできないので直接SQLを実行します。SQLの実行はDbContext.DatabaseのSqlQueryを使います。
var sequence = db.Database.SqlQuery<int>("SELECT シーケンス.NEXTVAL FROM DUAL").First();
IQueryableで戻り値を受けると条件を一つずつ追加することができます。
IQueryable<entity> data = db.entity; data = data.Where(t => t.no >= 100); data = data.Where(t => t.title == "無題"); data = data.OrderBy(t => t.no);
DateTime.Parseメソッドを使います。
var targetDate = DateTime.Parse("2013-12-31 01:23:45");
[参照の追加][フレームワーク][System.Transactions]を選択します。
Microsoft.VisualBasic.FileIO.TextFieldParserを使うとデータ中にカンマを含むCSVファイルも読み込むことができます。
C#でこれを使うときには、[参照の追加][フレームワーク][Microsoft.VisualBasic]を選択しておきます。
using (var reader = new TextFieldParser("CSVファイル名")) { reader.TextFieldType = FieldType.Delimited; reader.SetDelimiters(","); while (!reader.EndOfData) { var items = reader.ReadFields(); foreach (var item in items) { Console.WriteLine(item); } } }
CSVでデータを作成するときに、単純にカンマで連結するだけだとデータ中にカンマがある場合にデータを正しく作成できないので、少しデータを加工します。
private String ToCsvColumn(String value) { if (String.IsNullOrEmpty(value)) { return ""; } if (! System.Text.RegularExpressions.Regex.IsMatch(value, "[\",]")) { // カンマやダブルクオートがない場合はそのまま return value; } value = value.Replace("\"", "\"\""); // "を""にする value = String.Format("\"{0}\"", value); // 全体を"で囲む return value; }