2011-01-03 5 views
1

FormViewコントロールのフィールドにバインドするときに、私は次のエラーを取得する:LINQのエラー - 名前のプロパティが含まれていないデータバインディングプロセスで「COname」

データバインディング:「System.Data.Linq.EntitySet `[LinqClassLibrary.dbml.OrderAgency、LinqClassLibrary、Version = 1.0.0.0、Culture =ニュートラル、PublicKeyToken = null]] '名前に' COname 'という名前のプロパティは含まれていません。

public System.Data.Linq.EntitySet<OrderAgency> OrderAgencies { set; get; } 
Member of LinqClassLibrary.dbml.Order 

と私の "OrderAgency" テーブルから::私の "受注" テーブルから

:それは示してオブジェクトブラウザを見てみると

<asp:Label ID="COnameLabel" runat="server" Text='<%# Bind("OrderAgencies.COname") %>' /> 

コードスニペット

public string COname { set; get; } 
Member of LinqClassLibrary.dbml.OrderAgency 

この 働いていた。そしてLinq2Sqlの私の理解から、OrderテーブルからOrderAgencyテーブルのフィールドを参照する正しい方法です。私はまだlinq2sqlでかなり新しいので、おそらく私はここで何かを見逃してしまった。あなたの質問に

+3

あなたのモデルによれば注文には、複数の機関を持つことができます。したがって、「OrderAgencies」はEntitySetであり、単一のオブジェクトではありません。 –

+0

クラウスはそうです。例外はそれをすべて説明します。 'EntitySet 'は 'COname'という名前のプロパティを含んでいません。 1つの 'OrderAgency'オブジェクトがあり、コレクションではないことを確認してください。 – Steven

答えて

2

コメントはまだここに答えを明らかにした(コメント答えではなく)答え答えはいます

OrderAgenciesEntitySet<>コレクションエンティティの)であるが、中にあなたのあなたがOrderAgencyエンティティクラスのプロパティ(単一エンティティ)であるCONameにアクセスしようとしている結合。あなたのバインディングでは、CONameプロパティにアクセスするには、単一のOrderAgencyエンティティを参照する必要があります。

+1

コメント解答を呼び出すための+1。私はそれらを嫌う狂った。 – plntxt

関連する問題