簡體   English   中英

使用POCO作為EntityFramework存儲過程的參數對象

[英]Using POCO as a parameter object for EntityFramework stored procedure

我想使用一個類的例子:

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設計器,也不向我的實體添加任何數據庫屬性,因為它們是可重用的組件。 同樣,如果此參數對象可用於保存也會很好的Output參數。 我還沒有找到任何關於使用POCO作為參數對象的好的文檔。

這是EntityFramework6 MVC5

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>();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM