I'm developing a WCF JSon Web service with C#, .NET Framework 4.0, using Entity Framework to access database.
I have to create a new EReportDB.EReport object, fill it, save it on database and get its new pk EReportDb.Ereport.eReportId.
This is my code, but I don't know how to do it:
public bool SaveEReport(EReportContract eContractReport)
{
if (eContractReport == null)
throw new ArgumentNullException("eContractReport", "SaveEReport: eReport is null");
using (EReportDB.EReportEntities context = new EReportDB.EReportEntities())
{
EReportDB.EReport eReport = new EReportDB.EReport();
eReport.orderId = eContractReport.orderId;
eReport.timeIn = DateTime.Parse(eContractReport.timeIn, new CultureInfo("en-GB", false));
eReport.timeOut = DateTime.Parse(eContractReport.timeOut, new CultureInfo("en-GB", false));
eReport.isProducFact = eContractReport.isProducFact;
/*
..snip..
*/
eReport.olPkSizeRs_ = eContractReport.olPkSizeRs;
eReport.olPkWeightRs = eContractReport.olPkWeightRs;
}
return false;
}
How can I do that?
int id = 0; // assuming the datatype for eReportId is int
using (EReportDB.EReportEntities objectContext = new EReportDB.EReportEntities())
{
EReportDB.EReport eReport = new EReportDB.EReport();
eReport.orderId = eContractReport.orderId;
eReport.timeIn = DateTime.Parse(eContractReport.timeIn, new CultureInfo("en-GB", false));
eReport.timeOut = DateTime.Parse(eContractReport.timeOut, new CultureInfo("en-GB", false));
eReport.isProducFact = eContractReport.isProducFact;
/*
..snip..
*/
eReport.olPkSizeRs_ = eContractReport.olPkSizeRs;
eReport.olPkWeightRs = eContractReport.olPkWeightRs;
objectContext.AddObject(eReport); // method to insert the entity
objectContext.SaveChanges();
id = eReport.eReportId;
transaction.Complete();
}
id is the PK for inserted record.
It is already filled for you by EF. Just call
context.AddObject(eReport);
context.Save();
at the end of your using block and you will find your key in eReport.eReportId.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With