我有一个存储过程PageInfo struct {
TotalResults int `json:"totalResults"`
ResultsPerPage int `json:"resultsPerPage"`
} `json:"pageInfo"`
,其中包含两个TVP InsertData
& MessagesTVP
。
当我使用EF调用它时,在任何给定的时间点,我只想传递一个参数。
我通过时工作正常
ExceptionTVP
但同样是失败而错误
操作数类型冲突:ExceptionTVP与MessageTVP不兼容
当我通过SqlParameter _dataTypeParam = new SqlParameter("MessageTVP", SqlDbType.Structured);
DataTable _InsertTMessageTVPDatatable = new DataTable("MessageTVP");
_dataTypeParam.Value = _InsertTMessageTVPDatatable;
_dataTypeParam.TypeName = "dbo.MessageTVP";
var obj = dbContext.Database.ExecuteSqlCommand($"InsertData @MessageTVP", _dataTypeParam);
时:
ExceptionTVP
这就是SQL Server中定义存储过程的方法:
SqlParameter _dataTypeParam = new SqlParameter("ExceptionTVP", SqlDbType.Structured);
DataTable _InsertTExceptionTVPDatatable = new DataTable("ExceptionTVP");
_dataTypeParam.Value = _InsertTExceptionTVPDatatable;
_dataTypeParam.TypeName = "dbo.ExceptionTVP";
var obj = dbContext.Database.ExecuteSqlCommand($"InsertData @ExceptionTVP", _dataTypeParam);
有人可以帮忙吗?