2014-12-17 追記
この記事書いたとき、OracleとEFのバージョン書いてなくてアレなのですが、
Oracle は 11gR2だったかと思います。
ちなみに、12cだとカラムのデフォルト値にシーケンスを指定できるようになりました。
Oracleでデフォルト値にシーケンスを設定したい | Siguniang's Blog
完全に余談ですが、このとき自分が何考えて書いたのかわからないのですが、別にTriggerでもいいよなあ。4年前くらいに書いたものだと思ってたけど、意外と最近でびっくり。考え方変わるもんだなあ。
EFも進化しているし、ソフトウェア技術進歩早いのでバージョン書かないと何の役にも立たないなと改めて思いました。気をつけます。
追記ここまで
column のプロパティを StoreGeneratedPattern="Identity" にして、
Oracle の Trigger 作れば可能。
ちなみにシーケンスを直接呼ぶことができないので、
手動で採番する場合は MAX+1 みたいなことするのでしょう。
自分だったらきっと Trigger 作るくらいなら(保守性を考慮して)手動にする。*1
- c# - How to automatically generate identity for an Oracle database through Entity framework? - Stack Overflow
- Oracle ODAC Entity Framework - how to auto increment? | The ASP.NET Forums
- Insert sequence.NEXT_VAL in Entity Framework. | Devart Forums
- Oracle 11g ODAC Entity Framework - how to auto ... | Oracle Community
- StoreGeneratedPatternFix extension
DBFlute は sequenceDefinitionMap.dfprop で設定できるし、
シーケンスを直接取得することもできるのに。。。