我有一个函数导入到具有几个可选 SQL 参数的 SQL Proc。
CREATE PROC dbo.SomeProc ( @mandatoryField INT,
@optionalField1 INT = NULL,
@optionalField2 DATETIME = NULL ... )
但是,在导入后,在我的 DbContext 上生成的方法上,EF 创建如下签名:
public virtual ObjectResult<SomeType> SomeProc(int mandatoryField,
Nullable<int> optionalField1,
Nullable<DateTime> optionalField2, ...)
这意味着当我调用 proc 时,我需要提供显式空值,从而导致代码繁琐:
context.SomeProc(valueOfMandatoryField, null, null, ...)
有没有办法让 EF 在函数导入映射中使用 C# 可选参数(即使这意味着直接破解 SSDL / CSDL)?