To the best of my knowledge, it can't. Entity Framework expects the database to handle this (SQL Server has it as a column property for example).
Oracle simply doesn't work that way, so you have to use a trigger to populate the value if you don't supply it. Personally I just write my code such that I've got a simple helper function that can select the sequence and I populate the value myself as part of the create.
Then you just call it and set the ID of something you're adding to whatever it returns.
Note that I'm using the DbContext stuff, which isn't the default EF generates. To use the ObjectContext stuff instead, you'll need to call context.ExecuteStoreQuery(). Here's a sample on how to do that: http://stackoverflow.com/questions/3962541/how-to-run-sql-queries-on-ef
As for why I'm using Convert.ToInt32, it's because the query returns a decimal type but what I actually want is an int because that's the type of the Id fields where I'm going to use the value. So I just convert it here and output what I want in order to avoid having to convert it later. If your autoincrement field is a decimal type in your model, then you won't have to convert it to anything.
Thank you for the code. Worked Great! Here is my little take on it:
public class OracleHelperService : IOracleHelperService
public int GetNextSequenceValue(SequenceNumber sequenceNumber)
using (WSDBContext context = new WSDBContext())
context.Database.SqlQuery<int>("SELECT ws_lead_to_sfdc_lead_out.NEXTVAL FROM DUAL")
IOracleHelperService oracleHelperService = new OracleHelperService();
int nextValue = oracleHelperService.GetNextSequenceValue(SequenceNumber.LeadToSFDC);