作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在尝试使用 Linq
调用一个存储过程
。为此,我写了这段代码:
public class CtxDb:DbContext
{
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
}
public virtual ObjectResult<Employee> GetEmployee()
{
return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction<Employee>("GetEmployee");
}
}
当我从 Web API
调用我的 sp 时,出现错误:
The FunctionImport 'GetEmployee' could not be found in the container 'CtxDb'
最佳答案
像这样使用容器名称限定函数导入:
public virtual ObjectResult<Employee> GetEmployee()
{
return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction<Employee>("EntityContainerName.GetEmployee");
}
实体容器名称可在您的 EDMX 上找到 - 右键单击任意位置并执行“属性”。
替代方法:
public virtual ObjectResult<Employee> GetEmployee() {
return this.Database.SqlQuery<Employee>("GetEmployee");
}
关于c# - 在容器 'GetEmployee' 中找不到 FunctionImport 'CtxDb',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46262056/
我正在尝试使用 Linq 调用一个存储过程。为此,我写了这段代码: public class CtxDb:DbContext { protected override voi
我是一名优秀的程序员,十分优秀!