2011-02-07 18 views
0

と思われるものを修正するために何度も試したことがあります。どんな助けでも大歓迎です!'System.DateTime'型を 'System.Object'型にキャストできません。 LINQ

コード:

クラス:

public class MyModel 
{ 
    public DateTime date { get; set; } 
    public int total { get; set; } 
} 

List<MyModel> query = (from ds in dataSource 
    group ds by ds.someDate into dsg 
    select new MyModel 
    { 
    date = dsg.Key, 
    total = dsg.Sum(ds => ds.Amount) 
    }).ToList<MyModel>(); 

エラー:

'のSystem.Object' をタイプするタイプ 'のSystem.DateTime' をキャストすることができません

。 LINQ to Entitiesは、Entity Data Modelプリミティブ型のキャストのみをサポートします。

ありがとうございます!

+0

にコードを変更する4つのスペースでそれをインデントして、コードをフォーマットしてください。 – SLaks

+0

@shiv:+1迷惑なマークアップを掃除する。 – SLaks

+0

マークアップに対するご迷惑をおかけします。これはサイトへの私の最初の質問であり、マークアップを追加する前に新しい行とスペースが表示されていませんでした。 – user606934

答えて

1

プロパティをobjectからDateTimeに変更してください。また

List<DateTime> dates = dataSource.Select(ds => ds.someDate) 
           .Distinct() 
           .ToList(); 
+0

これは既にDateTimeプロパティです。私が表示しなかった(コードを簡略化するために)クエリに返される他のプロパティがあります。だから私はgroup by節が必要です。 – user606934

+0

実際の質問を表示してください。 – SLaks

+0

基本クラス定義と集約プロパティを追加しました。 – user606934

関連する問題