gpt4 book ai didi

entity-framework - 从代码调用 Entity Framework 函数导入

转载 作者:行者123 更新时间:2023-12-04 08:34:30 25 4
gpt4 key购买 nike

所以我在我的数据库中定义了一个名为 Spr_EventLogCreate 的存储过程。我在我的数据模型中创建了一个名为 LogEvent 的函数导入,没有返回类型,我可以在模型浏览器树中看到这个函数,位于

MyModel.edmx > MyModel > EntityContainer > 函数导入 > LogEvent。

我认为我应该能够按如下方式在我的代码中调用该函数:

var context = new MyModelEntities();
context.LogEvent(...);

但是 LogEvent() 方法不存在。

我在这里一定很愚蠢,但是我该如何调用我导入的函数呢?

使用 VS 2008 和 EF 3.5。

最佳答案

在默认的 Microsoft 设计器中,无法生成调用函数的代码,而不是从设计时重新调整结果集。您可以编写代码在上下文类的部分定义中手动调用它。这是一个例子:


public void EmpDelete (global::System.Nullable PEMPNO, global::System.Nullable PDEPTNO)
{
if (this.Connection.State != System.Data.ConnectionState.Open)
this.Connection.Open();
System.Data.EntityClient.EntityCommand command = new System.Data.EntityClient.EntityCommand();
command.CommandType = System.Data.CommandType.StoredProcedure;
command.CommandText = @"DataSourceModel1Entities.EmpDelete";
command.Connection = (System.Data.EntityClient.EntityConnection)this.Connection;
EntityParameter PEMPNOParameter = new EntityParameter("PEMPNO", System.Data.DbType.Decimal);
if (PEMPNO.HasValue)
PEMPNOParameter.Value = PEMPNO;
command.Parameters.Add(PEMPNOParameter);
EntityParameter PDEPTNOParameter = new EntityParameter("PDEPTNO", System.Data.DbType.Decimal);
if (PDEPTNO.HasValue)
PDEPTNOParameter.Value = PDEPTNO;
command.Parameters.Add(PDEPTNOParameter);
command.ExecuteNonQuery();
}

关于entity-framework - 从代码调用 Entity Framework 函数导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2406331/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com