Я использую EFCore 2.1 для создания записи.Я хотел бы, чтобы одно поле заполнялось из значения, сгенерированного из скалярной функции.
public async Task<FraudClaim> CreateFraudClaimAsync(FraudClaim fraudClaim)
{
fraudClaim.AddedDate = DateTime.Now;
fraudClaim.UpdatedDate = DateTime.Now;
fraudClaim.Deleted = false;
fraudClaim.FraudReportNumber
=ScalarFunctionsHelpers.GetFraudReportNumber(); //Value From Scalar
Function
_dbcontext.Add(fraudClaim);
await _dbcontext.SaveChangesAsync().ConfigureAwait(false);
return fraudClaim;
}
SQL, который я хотел бы сгенерировать, был бы похож на -
INSERT INTO [dbo].[FraudClaims]
([AddedDate]
,[UpdatedDate]
,[UpdatedBy]
,[Deleted]
,[FraudReportNumber]
,[WagersClaimNumber]
,[FraudNotificationDate]
)
VALUES
(getdate()
,getdate()
,'HD'
,0
, [dbo].[ufnGetFraudReportNumber]()
,1
,getdate()
)
Я полагаю, что яможно сделать это, разбив вызов функции, чтобы сначала получить значение, а затем установить значение, но я надеялся сделать все это за одну поездку.Спасибо за любые предложения.