2012-04-27 13 views
1

VS 2010レポートデザイナでレポートを作成すると、データの主なソースはLinesエンティティになります。しかし、別のエンティティから別のフィールドが必要ですParts。だから私は、余分な財産そうなどとラインの部分クラスを追加しました:私はこれをacheiveするにはどうすればよい部分エンティティクラスのレポートデザイナにプロパティが表示されない

enter image description here

public partial class Line 
{ 
    public string ShelfLocation 
    { 
     get 
     { 
      using (RSContext rs = new RSContext()) 
      { 
       return rs.Parts.First(x => x.Code == this.Part).ShelfLocation; 
      } 
     } 
    } 

問題は、私はまだカントは、レポートデザイナからこの余分なフィールドを参照してくださいです別のビューを作成せずに?

事前に感謝します。

EDIT 1(両方とも同じ名前空間内):

enter image description here

+0

部分クラスが元の名前空間と同じ名前空間にあることを確認してください。 –

+0

@FelicePollanoは両方とも同じ名前空間にあります。 – sprocket12

+0

私はLinq2Sqlとまったく同じ問題を抱えています。あなたはそれを解決することができましたか?私は、実際にレポート定義に手動で追加したくない部分的なクラスにかなりの追加のプロパティがあることを意味します。 – Sergey

答えて

1

私はよりよい解決策があるかどうか知らないが、時間のために、私はこれを手動で追加された:あなたはタイプ行のオブジェクトを作成し、追加した新しいプロパティを見ることができることを確認することを検討して

レポートにし、それが働いた:

<Fields>  
... 
    <Field Name="ShelfLocation"> 
      <DataField>ShelfLocation</DataField> 
      <rd:TypeName>System.String</rd:TypeName> 
    </Field> 
</Fields> 
0

あなたは両方のクラスが同じ名前空間にあることを確認する必要があります。

var testLine = new Line(); 
testLine.ShelfLocation // <-- Does ShelfLocation show up as a valid property? Do your other properties like Debit, Id, etc. also show up? 
+0

はい、上記のテストに合格します。コンテキストと部分クラスの両方がRS名前空間にあります。 – sprocket12

0

私はLinq2Sqlと正確に同じ問題を抱えていました。カスタム部分クラスのすべてのプロパティは、レポートデザイナで表示されませんでした。問題

  1. 開きます*の.dbmlの[プロパティ]ダイアログを解決し、「カスタムツール」プロパティをクリアするには

    。 * .designer.csファイルが消えます。 "$(プロジェクト名)" /コード:: "$(PROJECTDIR

  2. は手動

    sqlmetal /名前空間* .designer.csを生成するために、 'ビルド前イベント' にsqlmetal.exeを使用します)DataModel.designer.cs」 "$(PROJECTDIR)DataClasses1.dbml"

は、これらの操作の後、追加のプロパティが正常に認識されました。

関連する問題