私は EF 4.3 を使用しており、Oracle データベースにアクセスしています。EF が Oracle データベースの SQL を生成する方法と、EF 4.3 ではカスタム規則を追加できないため、プロパティごとにすべて大文字で列名を手動で指定する必要があります。
[Column("MYPROPERTY")]
public string MyProperty { get; set; }
では、複合型を使用するプロパティについてはどうすればよいでしょうか。次の複合型があります。
public class Minute {
public int Value { get; set; }
}
および次の DbContext:
public class MyDbContext : DbContext {
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.ComplexType<Minutes>().Property(x => x.Value);
}
}
そして私のエンティティ:
[Table("MYENTITY")]
public class MyEntity {
[Column("MYPROPERTY")]
public string MyProperty { get; set; }
[Column("MYMINUTES")] //this does nothing
public Minutes MyMinutes { get; set; }
}
生成された SQL では、プロパティは存在しない... I MyMinutes
want にマップされます。"Extent1"."MyMinutes_Value"
"Extent1"."MYMINUTES"
机に頭をぶつける以外に、ここで何ができますか?