SQLデータベースのフロントエンドとして機能するasp.net webformsアプリケーションを構築しようとしています。単にテーブルの値を取得LINQ to SQLデータソースを使用し、複数のテーブルにまたがる外部キーでデータバインドを使用するAPOM Webフォーム
see database table relations in this image
は問題ではありません。このように「項目」テーブルから値を表示する例 は:
var items = from i in db.Items
select new
{
ID = i.Item_ID,
Name = i.Name,
Barcode = i.BarCode,
Description = i.Description,
ItemType = i.ItemType1.ItemTypeName,
LocationCount = i.Location_Item_Juncs.Count
};
GridView1.DataSource = items;
GridView1.DataBind();
looks like this in webforms webpage
問題は、アイテムのためのサプライヤー情報のようなものを得ています。
アイテムには複数の 'Supplier'、 'Location'と 'ReceivedDate'を設定できます。私はこのようにその情報を照会することができますSQLでは
:
select Supplier.Name, Supplier.Adress, Supplier.Email, Supplier.Phone, Supplier.Supplier_Zipcode
from item, Supp_Company, Supplier
where Item_ID = 8 and Item_ID = ItemSub_ID and SupplierJunc_ID = Supplier_ID
results look like this in linqpad
これらがあり、8
お知らせのアイテムIDを持つアイテムのためのサプライヤーの情報であり、 3つのテーブル(Item、Supp_Company、Supplier)と2組の値が一致して有効な値を選択する必要があります。
私のWebフォームアプリケーションで使用するLINQでそのクエリを複製したいと思います。 この問題の解決方法は、場所を取得してアイテムの「受信日」にも適用されると考えています。
LINQでSQLと同様の 'where'句を使用することはできますか?構文はどのように見えますか?
をあなたがしようとしたことがあり(
modelBuilder
はエンティティへのすべてのテーブルをマップに気づきます) join-clause)? –