1

我想使用一个类示例:

public class ClassA
{
     public int ID {get;set;}
     public string Name {get;set;}
}

作为要传递给存储过程的参数对象。

这将是我的电话示例

List<ClassB> result = this.Database.SqlQuery<ClassB>("GetSomeList", ClassA).ToList<ClassB>();

存储过程中的参数名称将匹配“ClassA”的属性。

如果我删除参数对象(ClassA),调用工作正常并返回正确的结果。我宁愿不使用 Entityframework 设计器或向我的实体添加任何 DB 属性,因为它们是可重用的组件。此外,如果此参数对象可用于保存输出参数,那也很好。我还没有找到任何使用 POCO 作为参数对象的好文档。

这是 EntityFramework6 MVC5

4

1 回答 1

0
public static class DbExtensions {
  public static object[] ToObjectArray(this ClassA ca) {
    return new object[]{ca.ID,ca.Name};
  }
}

List<ClassB> result=this.Database
  .SqlQuery<ClassB>("GetSomeList", ClassA.ToObjectArray())
  .ToList<ClassB>();
于 2015-06-08T18:43:58.250 回答