不兼容,因此還有一些其他類似的類型帖子,但沒有匹配我嘗試的簡單任務。 剛剛經歷EF6代碼運行一個存儲過程第一以下方式數據讀取器與指定的類
var results = context.DataBase.SqlQuery<MyClass>("exec spGetStuff @param1, @param2", new SqlParameter[] {new SqlParameter("param1",value), new SqlParameter("param2", value2)});
我已經使用這個方法上沒有問題多次。 我將結果映射到許多屬性非常令人討厭,但所有需要它的都標有[Column("dbfieldname")]
屬性。
所有的存儲過程做的是通過使用
SELECT * FROM(
SELECT
ROW_NUMBER() OVER (PARTITION BY X,Y,Z ORDER BY A) [RowNumber]
,*
FROM
MyTableNAme
WHERE
...) S
WHERE s.RowNumber = 1
不插入,更新或任何幻想類似的返回了一定的成效。
數據讀取器與指定的'MyClass'不兼容。類型'PropertyNameName'的成員在數據閱讀器中沒有相應的列,名稱相同。
如果我確實將類屬性更改爲數據庫列名,它似乎工作正常:我可以更改前幾個屬性,然後它會在類中的其他失敗...但是我不真的想要這樣做,如果我可以避免它,因爲數據庫中的大多數列的名稱確實非常糟糕,所以我想我的問題是爲什麼它忽略了以前從未讓我失敗的[Column()]
屬性。 或問題row_number,我已嘗試添加到類中或從查詢結果集中刪除。
嗨,感謝您的回覆。我沒有說清楚我是先使用代碼,所以沒有edmx對我來說。最終導致sproc中的所有列都走樣,這遠非理想。 :( – nat 2014-09-02 14:49:41