尝试在 C# 中执行存储过程参数 Entity Framework EDMX 模型时出错
Error while trying to exec stored procedure parameters Entity Framework EDMX model in C#
我正在尝试执行我的存储过程,它有 13 个参数,有些可以接受空值,有些则始终是必需的。我收到 2 个接受 null 的日期参数的错误。
我收到以下错误
System.Data.SqlClient.SqlException
The parameterized query '(@recordType nvarchar(12),@lotCreation bit,@licensePlateCreation' expects the parameter '@lotManufactureDate', which was not supplied.
这是当我从 SQL 服务器数据库调用存储过程时 edmx 模型创建的存储过程代码,这里也是存储过程中名为 licensePlateLookupCode
的参数允许空值,但在代码中创建的 emdx 模型不显示它可以接受空值 - 你知道为什么吗?
应该是 Nullable<string> licensePlateLookupCode
而不是 string licensePlateLookupCode
。
public virtual int AddFeedbackRequestsAgentInsert(string recordType,
Nullable<bool> lotCreation, Nullable<bool> licensePlateCreation,
Nullable<int> finishedGoodLineId, Nullable<int> lotid, string
lotLookupCode, Nullable<System.DateTime> lotManufactureDate,
Nullable<System.DateTime> lotExpirationDate, Nullable<decimal>
packagedAmount, Nullable<int> packagingId, string
licensePlateLookupCode, Nullable<int> licensePlateId, Nullable<int>
licensePlateLocationId)
{
var recordTypeParameter = recordType != null ?
new ObjectParameter("recordType", recordType) :
new ObjectParameter("recordType", typeof(string));
var lotCreationParameter = lotCreation.HasValue ?
new ObjectParameter("lotCreation", lotCreation) :
new ObjectParameter("lotCreation", typeof(bool));
var licensePlateCreationParameter = licensePlateCreation.HasValue ?
new ObjectParameter("licensePlateCreation", licensePlateCreation) :
new ObjectParameter("licensePlateCreation", typeof(bool));
var finishedGoodLineIdParameter = finishedGoodLineId.HasValue ?
new ObjectParameter("finishedGoodLineId", finishedGoodLineId) :
new ObjectParameter("finishedGoodLineId", typeof(int));
var lotidParameter = lotid.HasValue ?
new ObjectParameter("lotid", lotid) :
new ObjectParameter("lotid", typeof(int));
var lotLookupCodeParameter = lotLookupCode != null ?
new ObjectParameter("lotLookupCode", lotLookupCode) :
new ObjectParameter("lotLookupCode", typeof(string));
var lotManufactureDateParameter = lotManufactureDate.HasValue ?
new ObjectParameter("lotManufactureDate", lotManufactureDate) :
new ObjectParameter("lotManufactureDate", typeof(System.DateTime));
var lotExpirationDateParameter = lotExpirationDate.HasValue ?
new ObjectParameter("lotExpirationDate", lotExpirationDate) :
new ObjectParameter("lotExpirationDate", typeof(System.DateTime));
var packagedAmountParameter = packagedAmount.HasValue ?
new ObjectParameter("packagedAmount", packagedAmount) :
new ObjectParameter("packagedAmount", typeof(decimal));
var packagingIdParameter = packagingId.HasValue ?
new ObjectParameter("packagingId", packagingId) :
new ObjectParameter("packagingId", typeof(int));
var licensePlateLookupCodeParameter = licensePlateLookupCode != null ?
new ObjectParameter("licensePlateLookupCode", licensePlateLookupCode) :
new ObjectParameter("licensePlateLookupCode", typeof(string));
var licensePlateIdParameter = licensePlateId.HasValue ?
new ObjectParameter("licensePlateId", licensePlateId) :
new ObjectParameter("licensePlateId", typeof(int));
var licensePlateLocationIdParameter = licensePlateLocationId.HasValue ?
new ObjectParameter("licensePlateLocationId", licensePlateLocationId) :
new ObjectParameter("licensePlateLocationId", typeof(int));
return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction("AddFeedbackRequestsAgentInsert", recordTypeParameter, lotCreationParameter, licensePlateCreationParameter, finishedGoodLineIdParameter, lotidParameter, lotLookupCodeParameter, lotManufactureDateParameter, lotExpirationDateParameter, packagedAmountParameter, packagingIdParameter, licensePlateLookupCodeParameter, licensePlateIdParameter, licensePlateLocationIdParameter);
}
这是我调用该存储过程然后在用户单击提交按钮后执行它的地方,我收到 lotmanufacturer 和 lotexpiration 日期参数的错误,因为我认为它们是 NULLS,但在存储的实际数据库中程序是否可以为空
private void Btn_Submit_Click(object sender, EventArgs e)
{
// db context variable
var context = _manufacturingDbContext;
// ** Variables to insert to FootPrint stored procedure datex_footprint_integration.AddFeedbackRequestsAgentInsert with Record Type (FinishedGood)
const string recordType = "FinishedGood";
const bool lotCreation = false;
const bool licensePlateCreation = true;
var finishedGoodLineId = context.FinishedGoodLineIdByOrderAndFinishedGoodAndLot(Cmb_MfgOrder.Text, Cmb_FgLookupCode.Text, Cmb_LotLookupCode.Text).FirstOrDefault();
var lotId = context.LotIdByManufacturingOrderAndFinishedGood(Cmb_MfgOrder.Text, Cmb_FgLookupCode.Text,Cmb_LotLookupCode.Text).FirstOrDefault();
var doNotCreateLot = null;
DateTime? lotManufactureDate = null;
DateTime? lotExpirationDate = null;
var packagedAmount = Convert.ToDecimal(Txt_PackagedAmount.Text);
const int packagedId = 3;
var licensePlateLookupCode = Txt_LicensePlateLookupCode.Text;
int? licensePlateId = null;
const int licensePlateLocationId = 51372;
// Call SQL Server SPROC dbo.AddFeedbackRequestsAgentInsert and enter data to FootPrint Task
context.Database.ExecuteSqlCommand("EXEC dbo.AddFeedbackRequestsAgentInsert " +
"@recordType, @lotCreation, @licensePlateCreation, @finishedGoodLineId, @lotid, @lotLookupCode, @lotManufactureDate," +
"@lotExpirationDate, @packagedAmount, @packagingId, @licensePlateLookupCode, @licensePlateId, @licensePlateLocationId",
new SqlParameter("@recordType", recordType),
new SqlParameter("@lotCreation", lotCreation),
new SqlParameter("@licensePlateCreation", licensePlateCreation),
new SqlParameter("@finishedGoodLineId", finishedGoodLineId),
new SqlParameter("@lotid", lotId),
new SqlParameter("@lotLookupCode", doNotCreateLot),
new SqlParameter("@lotManufactureDate", lotManufactureDate),
new SqlParameter("@lotExpirationDate", lotExpirationDate),
new SqlParameter("@packagedAmount", packagedAmount),
new SqlParameter("@packagingId", packagedId),
new SqlParameter("@licensePlateLookupCode", licensePlateLookupCode),
new SqlParameter("@licensePlateId", licensePlateId),
new SqlParameter("@licensePlateLocationId", licensePlateLocationId)
);
context.SaveChanges();
}
这是实际的存储过程 - 如您所见,@lotManufactureDate
和 @lotExpirationDate
确实允许空值:
CREATE PROCEDURE [dbo].[AddFeedbackRequestsAgentInsert]
@recordType NVARCHAR(30),
@lotCreation BIT,
@licensePlateCreation BIT,
@finishedGoodLineId INT,
@lotid INT NULL,
@lotLookupCode NVARCHAR(256) NULL,
@lotManufactureDate DATETIME NULL,
@lotExpirationDate DATETIME NULL,
@packagedAmount DECIMAL(28,8),
@packagingId INT,
@licensePlateLookupCode NVARCHAR(256) NULL,
@licensePlateId INT NULL,
@licensePlateLocationId INT NULL
所以,我不明白为什么当我传递那些具有空日期的 2 个日期参数时,我会收到预期的错误如果我传递 null 的 lotlookupcode 参数,同样的事情会发生,我会得到同样的错误期待 lotlookupcode。你能看出这里可能是什么问题吗?
我对我的代码进行了新的更改,现在我没有收到我之前请求描述的错误,但是现在当我调用存储过程执行时,我在数据库上什么也看不到,可以看下面基于我提供的参数,基于 emdx 模型的那个是正确的吗?
我正在从模型浏览器导入函数存储过程中调用此函数,当我按下提交按钮时,我没有收到数据库中的任何内容,基于 emdx 模型和存储过程,参数看起来是否正确?
var context = _manufacturingDbContext;
const string recordType = "FinishedGood";
const bool lotCreation = false;
const bool licensePlateCreation = true;
var finishedGoodLineId = context.FinishedGoodLineIdByOrderAndFinishedGoodAndLot(Cmb_MfgOrder.Text, Cmb_FgLookupCode.Text, Cmb_LotLookupCode.Text).FirstOrDefault();
var lotId = context.LotIdByManufacturingOrderAndFinishedGood(Cmb_MfgOrder.Text, Cmb_FgLookupCode.Text,Cmb_LotLookupCode.Text).FirstOrDefault();
var doNotCreateLot = null;
DateTime? lotManufactureDate = null;
DateTime? lotExpirationDate = null;
var packagedAmount = Convert.ToDecimal(Txt_PackagedAmount.Text);
const int packagedId = 3;
var licensePlateLookupCode = Txt_LicensePlateLookupCode.Text;
int? licensePlateId = null;
const int licensePlateLocationId = 51372;
//calling stored procedure and send data to sproc based on the variables above
context.AddFeedbackRequestsAgentInsert(recordType, lotCreation, licensePlateCreation, finishedGoodLineId,
lotId, lot, lotManufactureDate, lotExpirationDate, packagedAmount, packagedId, licensePlateLookupCode,
licensePlateId, licensePlateLocationId);
}
因此,您更新了数据库中的存储过程,但您的数据模型并不知道这些更改。您需要做的是同时更新 .net 应用程序中的实体固件。
1- 从数据库刷新(更新)EDMX..
2- 右键单击概念模型 (mode.context.tt) 和 (model.tt) 并单击 (运行 自定义工具).. 这将更新您的 C# 映射数据模型查看这些添加的新参数。
可以直接调用EF生成的AddFeedbackRequestsAgentInsert
方法传参数给it.you可能不需要调用ontext.Database.ExecuteSqlCommand
不过,如果你想使用 ontext.Database.ExecuteSqlCommand
,你可以使用下面的代码来传递 null on nullable date 参数
new SqlParameter("@lotManufactureDate", lotManufactureDate.HasValue ? lotManufactureDate : DBNull.Value),
new SqlParameter("@lotManufactureDate", lotExpirationDate.HasValue ? lotExpirationDate : DBNull.Value),
或
new SqlParameter("@lotManufactureDate", lotManufactureDate.HasValue ? lotManufactureDate : default(DateTime)),
new SqlParameter("@lotManufactureDate", lotExpirationDate.HasValue ? lotExpirationDate : default(DateTime)),
这是我的答案,我所要做的就是修复我的 sql 存储过程的某些部分,最重要的是我只需要调用从 emdx 模型创建的导入函数并向其中添加正确的参数,在检查我的数据库数据后,根据代码解决方案正确插入,如果您有任何问题,如果您看到更好的方法,请告诉我。
public void ExecuteStoredProcedure()
{
try
{
// db context variable
var context = _manufacturingDbContext;
const string recordType = "FinishedGood";
const bool lotCreation = false;
const bool licensePlateCreation = true;
var finishedGoodLineId = context.FinishedGoodLineIdByOrderAndFinishedGoodAndLot(Cmb_MfgOrder.Text, Cmb_FgLookupCode.Text, Cmb_LotLookupCode.Text).FirstOrDefault();
var lotId = context.LotIdByManufacturingOrderAndFinishedGood(Cmb_MfgOrder.Text, Cmb_FgLookupCode.Text, Cmb_LotLookupCode.Text).FirstOrDefault();
string lot = null;
DateTime? lotManufactureDate = null;
DateTime? lotExpirationDate = null;
var packagedAmount = Convert.ToDecimal(Txt_PackagedAmount.Text);
const int packagedId = 3;
var licensePlateLookupCode = Txt_LicensePlateLookupCode.Text;
int? licensePlateId = null;
const int licensePlateLocationId = 51372;
// Call SQL Server SPROC datex_footprint_integration.AddFeedbackRequestsAgentInsert and enter data to FootPrint Task
var run = context.AddFeedbackRequestsAgentInsert(recordType, lotCreation, licensePlateCreation, finishedGoodLineId,
lotId, "", lotManufactureDate, lotExpirationDate, packagedAmount, packagedId, licensePlateLookupCode,
licensePlateId, licensePlateLocationId);
context.SaveChanges();
}
catch (Exception e)
{
MessageBox.Show(e.Message);
throw;
}
}
我正在尝试执行我的存储过程,它有 13 个参数,有些可以接受空值,有些则始终是必需的。我收到 2 个接受 null 的日期参数的错误。
我收到以下错误
System.Data.SqlClient.SqlException
The parameterized query '(@recordType nvarchar(12),@lotCreation bit,@licensePlateCreation' expects the parameter '@lotManufactureDate', which was not supplied.
这是当我从 SQL 服务器数据库调用存储过程时 edmx 模型创建的存储过程代码,这里也是存储过程中名为 licensePlateLookupCode
的参数允许空值,但在代码中创建的 emdx 模型不显示它可以接受空值 - 你知道为什么吗?
应该是 Nullable<string> licensePlateLookupCode
而不是 string licensePlateLookupCode
。
public virtual int AddFeedbackRequestsAgentInsert(string recordType,
Nullable<bool> lotCreation, Nullable<bool> licensePlateCreation,
Nullable<int> finishedGoodLineId, Nullable<int> lotid, string
lotLookupCode, Nullable<System.DateTime> lotManufactureDate,
Nullable<System.DateTime> lotExpirationDate, Nullable<decimal>
packagedAmount, Nullable<int> packagingId, string
licensePlateLookupCode, Nullable<int> licensePlateId, Nullable<int>
licensePlateLocationId)
{
var recordTypeParameter = recordType != null ?
new ObjectParameter("recordType", recordType) :
new ObjectParameter("recordType", typeof(string));
var lotCreationParameter = lotCreation.HasValue ?
new ObjectParameter("lotCreation", lotCreation) :
new ObjectParameter("lotCreation", typeof(bool));
var licensePlateCreationParameter = licensePlateCreation.HasValue ?
new ObjectParameter("licensePlateCreation", licensePlateCreation) :
new ObjectParameter("licensePlateCreation", typeof(bool));
var finishedGoodLineIdParameter = finishedGoodLineId.HasValue ?
new ObjectParameter("finishedGoodLineId", finishedGoodLineId) :
new ObjectParameter("finishedGoodLineId", typeof(int));
var lotidParameter = lotid.HasValue ?
new ObjectParameter("lotid", lotid) :
new ObjectParameter("lotid", typeof(int));
var lotLookupCodeParameter = lotLookupCode != null ?
new ObjectParameter("lotLookupCode", lotLookupCode) :
new ObjectParameter("lotLookupCode", typeof(string));
var lotManufactureDateParameter = lotManufactureDate.HasValue ?
new ObjectParameter("lotManufactureDate", lotManufactureDate) :
new ObjectParameter("lotManufactureDate", typeof(System.DateTime));
var lotExpirationDateParameter = lotExpirationDate.HasValue ?
new ObjectParameter("lotExpirationDate", lotExpirationDate) :
new ObjectParameter("lotExpirationDate", typeof(System.DateTime));
var packagedAmountParameter = packagedAmount.HasValue ?
new ObjectParameter("packagedAmount", packagedAmount) :
new ObjectParameter("packagedAmount", typeof(decimal));
var packagingIdParameter = packagingId.HasValue ?
new ObjectParameter("packagingId", packagingId) :
new ObjectParameter("packagingId", typeof(int));
var licensePlateLookupCodeParameter = licensePlateLookupCode != null ?
new ObjectParameter("licensePlateLookupCode", licensePlateLookupCode) :
new ObjectParameter("licensePlateLookupCode", typeof(string));
var licensePlateIdParameter = licensePlateId.HasValue ?
new ObjectParameter("licensePlateId", licensePlateId) :
new ObjectParameter("licensePlateId", typeof(int));
var licensePlateLocationIdParameter = licensePlateLocationId.HasValue ?
new ObjectParameter("licensePlateLocationId", licensePlateLocationId) :
new ObjectParameter("licensePlateLocationId", typeof(int));
return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction("AddFeedbackRequestsAgentInsert", recordTypeParameter, lotCreationParameter, licensePlateCreationParameter, finishedGoodLineIdParameter, lotidParameter, lotLookupCodeParameter, lotManufactureDateParameter, lotExpirationDateParameter, packagedAmountParameter, packagingIdParameter, licensePlateLookupCodeParameter, licensePlateIdParameter, licensePlateLocationIdParameter);
}
这是我调用该存储过程然后在用户单击提交按钮后执行它的地方,我收到 lotmanufacturer 和 lotexpiration 日期参数的错误,因为我认为它们是 NULLS,但在存储的实际数据库中程序是否可以为空
private void Btn_Submit_Click(object sender, EventArgs e)
{
// db context variable
var context = _manufacturingDbContext;
// ** Variables to insert to FootPrint stored procedure datex_footprint_integration.AddFeedbackRequestsAgentInsert with Record Type (FinishedGood)
const string recordType = "FinishedGood";
const bool lotCreation = false;
const bool licensePlateCreation = true;
var finishedGoodLineId = context.FinishedGoodLineIdByOrderAndFinishedGoodAndLot(Cmb_MfgOrder.Text, Cmb_FgLookupCode.Text, Cmb_LotLookupCode.Text).FirstOrDefault();
var lotId = context.LotIdByManufacturingOrderAndFinishedGood(Cmb_MfgOrder.Text, Cmb_FgLookupCode.Text,Cmb_LotLookupCode.Text).FirstOrDefault();
var doNotCreateLot = null;
DateTime? lotManufactureDate = null;
DateTime? lotExpirationDate = null;
var packagedAmount = Convert.ToDecimal(Txt_PackagedAmount.Text);
const int packagedId = 3;
var licensePlateLookupCode = Txt_LicensePlateLookupCode.Text;
int? licensePlateId = null;
const int licensePlateLocationId = 51372;
// Call SQL Server SPROC dbo.AddFeedbackRequestsAgentInsert and enter data to FootPrint Task
context.Database.ExecuteSqlCommand("EXEC dbo.AddFeedbackRequestsAgentInsert " +
"@recordType, @lotCreation, @licensePlateCreation, @finishedGoodLineId, @lotid, @lotLookupCode, @lotManufactureDate," +
"@lotExpirationDate, @packagedAmount, @packagingId, @licensePlateLookupCode, @licensePlateId, @licensePlateLocationId",
new SqlParameter("@recordType", recordType),
new SqlParameter("@lotCreation", lotCreation),
new SqlParameter("@licensePlateCreation", licensePlateCreation),
new SqlParameter("@finishedGoodLineId", finishedGoodLineId),
new SqlParameter("@lotid", lotId),
new SqlParameter("@lotLookupCode", doNotCreateLot),
new SqlParameter("@lotManufactureDate", lotManufactureDate),
new SqlParameter("@lotExpirationDate", lotExpirationDate),
new SqlParameter("@packagedAmount", packagedAmount),
new SqlParameter("@packagingId", packagedId),
new SqlParameter("@licensePlateLookupCode", licensePlateLookupCode),
new SqlParameter("@licensePlateId", licensePlateId),
new SqlParameter("@licensePlateLocationId", licensePlateLocationId)
);
context.SaveChanges();
}
这是实际的存储过程 - 如您所见,@lotManufactureDate
和 @lotExpirationDate
确实允许空值:
CREATE PROCEDURE [dbo].[AddFeedbackRequestsAgentInsert]
@recordType NVARCHAR(30),
@lotCreation BIT,
@licensePlateCreation BIT,
@finishedGoodLineId INT,
@lotid INT NULL,
@lotLookupCode NVARCHAR(256) NULL,
@lotManufactureDate DATETIME NULL,
@lotExpirationDate DATETIME NULL,
@packagedAmount DECIMAL(28,8),
@packagingId INT,
@licensePlateLookupCode NVARCHAR(256) NULL,
@licensePlateId INT NULL,
@licensePlateLocationId INT NULL
所以,我不明白为什么当我传递那些具有空日期的 2 个日期参数时,我会收到预期的错误如果我传递 null 的 lotlookupcode 参数,同样的事情会发生,我会得到同样的错误期待 lotlookupcode。你能看出这里可能是什么问题吗?
我对我的代码进行了新的更改,现在我没有收到我之前请求描述的错误,但是现在当我调用存储过程执行时,我在数据库上什么也看不到,可以看下面基于我提供的参数,基于 emdx 模型的那个是正确的吗?
我正在从模型浏览器导入函数存储过程中调用此函数,当我按下提交按钮时,我没有收到数据库中的任何内容,基于 emdx 模型和存储过程,参数看起来是否正确?
var context = _manufacturingDbContext;
const string recordType = "FinishedGood";
const bool lotCreation = false;
const bool licensePlateCreation = true;
var finishedGoodLineId = context.FinishedGoodLineIdByOrderAndFinishedGoodAndLot(Cmb_MfgOrder.Text, Cmb_FgLookupCode.Text, Cmb_LotLookupCode.Text).FirstOrDefault();
var lotId = context.LotIdByManufacturingOrderAndFinishedGood(Cmb_MfgOrder.Text, Cmb_FgLookupCode.Text,Cmb_LotLookupCode.Text).FirstOrDefault();
var doNotCreateLot = null;
DateTime? lotManufactureDate = null;
DateTime? lotExpirationDate = null;
var packagedAmount = Convert.ToDecimal(Txt_PackagedAmount.Text);
const int packagedId = 3;
var licensePlateLookupCode = Txt_LicensePlateLookupCode.Text;
int? licensePlateId = null;
const int licensePlateLocationId = 51372;
//calling stored procedure and send data to sproc based on the variables above
context.AddFeedbackRequestsAgentInsert(recordType, lotCreation, licensePlateCreation, finishedGoodLineId,
lotId, lot, lotManufactureDate, lotExpirationDate, packagedAmount, packagedId, licensePlateLookupCode,
licensePlateId, licensePlateLocationId);
}
因此,您更新了数据库中的存储过程,但您的数据模型并不知道这些更改。您需要做的是同时更新 .net 应用程序中的实体固件。 1- 从数据库刷新(更新)EDMX..
2- 右键单击概念模型 (mode.context.tt) 和 (model.tt) 并单击 (运行 自定义工具).. 这将更新您的 C# 映射数据模型查看这些添加的新参数。
可以直接调用EF生成的AddFeedbackRequestsAgentInsert
方法传参数给it.you可能不需要调用ontext.Database.ExecuteSqlCommand
不过,如果你想使用 ontext.Database.ExecuteSqlCommand
,你可以使用下面的代码来传递 null on nullable date 参数
new SqlParameter("@lotManufactureDate", lotManufactureDate.HasValue ? lotManufactureDate : DBNull.Value),
new SqlParameter("@lotManufactureDate", lotExpirationDate.HasValue ? lotExpirationDate : DBNull.Value),
或
new SqlParameter("@lotManufactureDate", lotManufactureDate.HasValue ? lotManufactureDate : default(DateTime)),
new SqlParameter("@lotManufactureDate", lotExpirationDate.HasValue ? lotExpirationDate : default(DateTime)),
这是我的答案,我所要做的就是修复我的 sql 存储过程的某些部分,最重要的是我只需要调用从 emdx 模型创建的导入函数并向其中添加正确的参数,在检查我的数据库数据后,根据代码解决方案正确插入,如果您有任何问题,如果您看到更好的方法,请告诉我。
public void ExecuteStoredProcedure()
{
try
{
// db context variable
var context = _manufacturingDbContext;
const string recordType = "FinishedGood";
const bool lotCreation = false;
const bool licensePlateCreation = true;
var finishedGoodLineId = context.FinishedGoodLineIdByOrderAndFinishedGoodAndLot(Cmb_MfgOrder.Text, Cmb_FgLookupCode.Text, Cmb_LotLookupCode.Text).FirstOrDefault();
var lotId = context.LotIdByManufacturingOrderAndFinishedGood(Cmb_MfgOrder.Text, Cmb_FgLookupCode.Text, Cmb_LotLookupCode.Text).FirstOrDefault();
string lot = null;
DateTime? lotManufactureDate = null;
DateTime? lotExpirationDate = null;
var packagedAmount = Convert.ToDecimal(Txt_PackagedAmount.Text);
const int packagedId = 3;
var licensePlateLookupCode = Txt_LicensePlateLookupCode.Text;
int? licensePlateId = null;
const int licensePlateLocationId = 51372;
// Call SQL Server SPROC datex_footprint_integration.AddFeedbackRequestsAgentInsert and enter data to FootPrint Task
var run = context.AddFeedbackRequestsAgentInsert(recordType, lotCreation, licensePlateCreation, finishedGoodLineId,
lotId, "", lotManufactureDate, lotExpirationDate, packagedAmount, packagedId, licensePlateLookupCode,
licensePlateId, licensePlateLocationId);
context.SaveChanges();
}
catch (Exception e)
{
MessageBox.Show(e.Message);
throw;
}
}