2017-05-08 5 views
2
select new ProviderMeta 
      { 
       LoginId = user.LoginId, 
       AgencyId = user.AgencyId, 
       Application = user.Application, 
       UserId = user.UserId, 
       Name = agencySnapshot.Name, 
       Roles = new int[0], 
       Cluster = app.ClusterId ?? 0, 
       Created = app.Created, 
       TitleType = user.TitleType, 
       Feature = (foundFeature == null ? 0 : foundFeature.Feature) 
      }).ToList(); 

にLINQでサポートされていない、ロールは、整数配列であるが、私がゼロと空の配列 を割り当てるせていません。 ヘルプをいただければ幸いです。LINQ式ノードタイプが「NewArrayBounds」ここエンティティ

+0

あなたは何を意味する「ゼロの空の配列?」空の、長さゼロの整数配列、または値0の単一の要素を持つ整数配列を求めていますか? – n8wrl

+0

混乱して申し訳ありません。その整数配列に値ゼロの単一の要素があります – Sumi

+0

次に 'new int [1]'または 'new int [] {0}'が必要ですか?あなたのLINQがSQLクエリに変換されている場合は、LINQ to SQLで私にとってはうまくいくようですが、まだサポートされていないことがわかります。一時変数( 'var emptyRoles = new int [] {0};')を作成してみるとよいでしょう。 – NetMage

答えて

1

は、あなたのクラスの空のコンストラクタで配列を初期化します。

public class ProviderMeta 
{ 
    //... 
    public ProviderMeta() 
    { 
    Roles = new int[]{0}; 
    } 
} 

と投影から削除

select new ProviderMeta 
     { 
      LoginId = user.LoginId, 
      AgencyId = user.AgencyId, 
      Application = user.Application, 
      UserId = user.UserId, 
      Name = agencySnapshot.Name, 
      //Roles = new int[0], remove this line 
      Cluster = app.ClusterId ?? 0, 
      Created = app.Created, 
      TitleType = user.TitleType, 
      Feature = (foundFeature == null ? 0 : foundFeature.Feature) 
     }).ToList(); 
+0

ごめんなさい。私はそれがLinqの問題ではなく、コンストラクタだと信じています。 – Sumi

+0

しかし、クエリプロジェクションで配列初期化を削除しましたか? – octavioccl

+0

ええ私はあなたがその解決策を提案した後に急にしました。 – Sumi

関連する問題