1
我正在使用EF 4.3,正在打Oracle數據庫。由於EF如何爲Oracle數據庫生成SQL,並且由於EF 4.3不允許添加自定義約定,因此我必須爲所有CAPS中的每個屬性手動指定列名稱。如何從使用複雜類型的屬性進行映射時使列名稱全部大寫?
[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中,MyMinutes
屬性映射到一個非 - 存在"Extent1"."MyMinutes_Value"
...我想要"Extent1"."MYMINUTES"
。
除了把我的頭撞在我的桌子上之外,我還能做什麼?
這很奇怪 - 我使用EF和Oracle,不需要手動指定 –
EF 4.3 Code-First? –