2

Linq2Sql DBML ファイルで関連付けたいビューがいくつかあります。

右クリックして [関連付けの追加] を選択し、子から親への関連付けを手動で作成しました。次に例を示します。

Customer.TypeId -> CustomerTypes.Id

しかし、私のコードではこれを行うことはできません:

from c in Customers select c.Type.Name

手がかりはありますか?データベースにリレーションシップが存在し、存在しない場合と存在しない場合は、これを行うことができます。

4

2 に答える 2

2

これは奇妙です。思いついた答えをここに書いたのを覚えています!

基本的に問題は、テーブルではなくビューを見ていて、DBML ファイルでそれらを関連付けようとしたため、明らかに主キーがないことでした。どの列が主キーであるかを Linq2Sql に伝えたら、それは幸せなことでした。

于 2009-08-17T07:34:28.360 に答える
0

私はちょうど同じことを試みました.linq-to-sql dbmlファイルを含むソリューションを再構築した後にのみ、クエリが可能になりました。リレーションシップに変更を加えた後、ソリューションを再構築しましたか?

ただし、これは 2 つのテーブルを使用して行われました。2 つのビューをリンクさせて、この回答を結果で編集します。

編集:わかりました、データベース内のビューのみをクエリする LinqToSql クエリに関連付けを配置しても機能しません。ただし、linq クエリで結合を指定できます。悲しいことに、DBML ファイルとコードでそれを指定する二重の作業を行うようなものですが、コメントをいくつか入れるだけで、なぜそれを行ったのか理解できるでしょう。

したがって、少なくとも「結合」が他の人に見えるDBMLファイルでは。

于 2009-08-17T06:46:32.233 に答える