2

linq式に問題があります。dbから日時順に並べられたデータを取得したい。初期には、文字列フィールドによる並べ替えがありました。式の並べ替え(文字列による):

Expression<Func<Matter, Object>> result = e => e.MatterNumber;
//In debug mode: {e => e.MatterNumber}

正常に動作します

式の並べ替え(日時または整数による):

Expression<Func<Matter, Object>> result = e => e.Created;
//In debug mode: {{e => Convert(e.Created)}}

これによりエラーが発生します:{"タイプ'System.Int32'をタイプ'System.Object'にキャストできません。LINQtoEntitiesは、エンティティデータモデルプリミティブタイプのキャストのみをサポートします。"}

助けてください :)

4

1 に答える 1

1

アレクセイ、あなたはこのSOの質問を見たいと思うかもしれません:

Entity Framework: LINQ to Entities はエンティティ データ モデルのプリミティブ型のキャストのみをサポートします

またはこれはここにあります:

「LINQ to Entities はエンティティ データ モデルのプリミティブ型のキャストのみをサポートしています」を理解するのを手伝ってください

そして最後にSOで:

Entityframework 4.0 .CreateQuery<T> および OrderBy 例外

そして、forums.asp.net で:

http://forums.asp.net/t/1580414.aspx/1

4 つすべてがこの問題をわずかに異なる方法で処理しますが、シナリオに役立つことを願っています。

于 2012-08-02T11:56:04.130 に答える