未整理のメモです。そのうちまとめたり、削除したりするかもしれません。
データベースで外部キーがないときに、自分で関係を定義する方法です。
ソリューションエクスプローラーのプロジェクトのコンテキストメニューから[発行]を選択して、あとはウィザードに従います。
普通はアクションメソッドの引数で受け取りますが、あえてリクエストオブジェクトから受け取ることもできます。
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;
}